`
h416756139
  • 浏览: 365933 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解析json数据格式

阅读更多

分为两种;
一种是普通的,一种是带有数组形式的;

普通形式的:
服务器端返回的json数据格式如下:

{
"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}

分析代码如下:
// TODO 状态处理 500 200 
                int res = 0
                res 
= httpClient.execute(httpPost).getStatusLine().getStatusCode(); 
                
if (res == 200) { 
                    
/* 
                     * 当返回码为200时,做处理 
                     * 得到服务器端返回json数据,并做处理 
                     * 
*/ 
                    HttpResponse httpResponse 
= httpClient.execute(httpPost); 
                    StringBuilder builder 
= new StringBuilder(); 
                    BufferedReader bufferedReader2 
= new BufferedReader( 
                            
new InputStreamReader(httpResponse.getEntity().getContent())); 
                    String str2 
= ""
                    
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2 
                            .readLine()) { 
                        builder.append(s); 
                    } 
                    Log.i(
"cat"">>>>>>" + builder.toString());

JSONObject jsonObject 
= new JSONObject(builder.toString())  .getJSONObject("userbean"); 

                String Uid; 
                String Showname; 
                String Avtar; 
                String State; 

                Uid 
= jsonObject.getString("Uid"); 
                Showname 
= jsonObject.getString("Showname"); 
                Avtar 
= jsonObject.getString("Avtar"); 
                State 
= jsonObject.getString("State");
带数组形式的:
服务器端返回的数据格式为:

{
"calendar"
    {
"calendarlist"
            [ 
            {
"calendar_id":"1705","title":"(\u4eb2\u5b50)ddssd","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288927800","endshowtime":"1288931400","allDay":false}, 
            {
"calendar_id":"1706","title":"(\u65c5\u884c)","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288933200","endshowtime":"1288936800","allDay":false
            ] 
    } 
}

分析代码如下:
// TODO 状态处理 500 200 
                int res = 0
                res 
= httpClient.execute(httpPost).getStatusLine().getStatusCode(); 
                
if (res == 200) { 
                    
/* 
                     * 当返回码为200时,做处理 
                     * 得到服务器端返回json数据,并做处理 
                     * 
*/ 
                    HttpResponse httpResponse 
= httpClient.execute(httpPost); 
                    StringBuilder builder 
= new StringBuilder(); 
                    BufferedReader bufferedReader2 
= new BufferedReader( 
                            
new InputStreamReader(httpResponse.getEntity().getContent())); 
                    String str2 
= ""
                    
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2 
                            .readLine()) { 
                        builder.append(s); 
                    } 
                    Log.i(
"cat"">>>>>>" + builder.toString()); 
                    
/** 
                     * 这里需要分析服务器回传的json格式数据, 
                     
*/ 
                    JSONObject jsonObject 
= new JSONObject(builder.toString()) 
                            .getJSONObject(
"calendar"); 
                    JSONArray jsonArray 
= jsonObject.getJSONArray("calendarlist"); 
                    
for(int i=0;i<jsonArray.length();i++){ 
                        JSONObject jsonObject2 
= (JSONObject)jsonArray.opt(i); 
                        CalendarInfo calendarInfo 
= new CalendarInfo(); 
                        calendarInfo.setCalendar_id(jsonObject2.getString(
"calendar_id")); 
                        calendarInfo.setTitle(jsonObject2.getString(
"title")); 
                        calendarInfo.setCategory_name(jsonObject2.getString(
"category_name")); 
                        calendarInfo.setShowtime(jsonObject2.getString(
"showtime")); 
                        calendarInfo.setEndtime(jsonObject2.getString(
"endshowtime")); 
                        calendarInfo.setAllDay(jsonObject2.getBoolean(
"allDay")); 
                        calendarInfos.add(calendarInfo); 
                    }

总结,普通形式的只需用JSONObject ,带数组形式的需要使用JSONArray 将其变成一个list。

转自:http://www.cnblogs.com/tt_mc/archive/2011/01/04/1925327.html

 

分享到:
评论

相关推荐

    JSON 数据格式解析

    JSON 数据格式解析 JSON 数据格式解析是基于纯文本的数据格式,广泛应用于不同主机之间的数据传递。JSON 数据格式非常简单,易于使用和解析。下面是 JSON 数据格式的详细解析: JSON 数据类型 JSON 数据类型包括 ...

    PB解析json,解析JSON案例,解析jsondemo

    描述中的“PB解析json到数据源”意味着PB能够接收HTTP响应的JSON数据,并将其转换为数据源可以理解的格式,以便进一步处理或显示。同时,“get和post都有案列”表明了PB支持两种主要的HTTP请求方法:GET用于获取资源...

    纯pb代码编写的解析json数据,含生成、格式化等

    标题中的“纯pb代码编写的解析json数据,含生成、格式化等”指的是使用PowerBuilder(简称PB)这种编程语言,完全不依赖其他外部库,实现了JSON数据的解析、生成和格式化的功能。PB是一种面向对象的编程工具,主要...

    c语言json数据格式解析

    本篇文章将深入探讨如何在C语言中解析JSON数据格式。 1. JSON数据格式基础 JSON格式基于JavaScript语法,但不依赖JavaScript运行环境。其基本结构包括对象(键值对的集合,用花括号{}包围)和数组(有序元素序列,...

    java解析json数据格式的jar包——fastjson!

    阿里巴巴的一款java解析json的jar包,fastjson,方便简单实用!

    PB9生成和解析JSON

    在PB9中处理JSON数据,通常涉及到两个关键步骤:生成JSON字符串和解析JSON字符串。 一、生成JSON 在PB9中生成JSON,你需要将数据结构转换为JSON格式。这通常通过编写函数或者利用第三方库来实现。PB9本身并不内置...

    C# 解析json格式数据为IList

    在C#编程中,处理JSON数据是常见的任务,特别是在与Web服务交互或存储/检索配置信息时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本文将深入...

    用jquery解析JSON数据的方法

    用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里...

    C#像java一样优雅的解析JSON数据

    C#的一个解析JSON的工具类,像java一样优雅的解析JSON数据,包含有JSONObject和JSONArray对象。 JSONObject json = new JSONObject(); json.Put("sex", "男"); json.Put("age", 123); json.Put("name", "张三"); ...

    kettle解析json串

    通过以上步骤,我们可以在Kettle中有效地解析JSON数据,并将其写入数据库中。这不仅可以提高数据处理的效率,还可以确保数据的一致性和准确性。此外,使用Java库如`JSON Simple`可以更加灵活地处理各种类型的JSON...

    ajax 解析json数据

    无论使用哪种方法,都需要确保服务器返回的JSON数据格式正确,否则在解析时会抛出错误。同时,为了兼容旧版本的浏览器,可能需要引入polyfill库,如`whatwg-fetch`和`es6-promise`。 总结,AJAX解析JSON数据主要...

    JAVA 解析JSON格式数据

    本篇文章将深入探讨如何在Java中解析JSON格式的数据,我们将参考提供的博文链接进行讲解。 首先,Java中解析JSON主要有两个主流库:Jackson和Gson。Jackson是目前最流行的Java JSON库之一,它提供了高性能和丰富的...

    pb解析json工具

    标题提到的"pb解析json工具"是一种专门用于处理protobuf(简称pb)与JSON两种数据格式相互转换的工具。这两种格式各有优势,广泛应用于不同场景。 首先,让我们了解一下JSON(JavaScript Object Notation)。JSON是...

    Gson解析json数据

    在本文中,我们将深入探讨如何使用Gson解析JSON数据,包括处理简单JSON和复杂的JSON结构。 首先,我们要了解JSON的基本概念。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,...

    java解析json格式数据 json.jar

    3. **JSONParser**:这是解析JSON数据的主要工具类,它提供了`parse()`方法,可以从JSON格式的字符串或输入流中解析出JSON对象或数组。 4. **JSONStringer** 和 **JSONWriter**:这两个类用于生成JSON格式的字符串...

    Android_JSON数据解析

    本篇将详细讲解如何在Android应用中解析JSON数据,主要涉及以下几个方面: 1. JSON基本结构 JSON由两种基本结构构成:对象(Object)和数组(Array)。对象是以花括号 `{}` 包围的键值对集合,键用双引号括起,如`...

    用jquery解析JSON数据的方法20110227

    在JavaScript和jQuery中,解析JSON数据是常见的任务,特别是在与服务器进行异步通信时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。在jQuery中...

    PB调用http apiPB解析json

    3. **PB解析JSON**:PowerBuilder提供了一些内置或第三方库来解析JSON数据,例如使用pbjson、jsonobject等类库。解析JSON数据时,首先需要将响应内容转换为字符串,然后使用JSON解析器将字符串转换为数据结构,如数...

    editplus 支持 解析json

    例如,可能新增了快速导入导出JSON、批量修改JSON数据、自定义格式化选项等功能。 总的来说,EditPlus作为一个强大的文本编辑器,结合`editplus_json.js` 插件,为处理JSON数据提供了全面且便捷的解决方案。无论你...

Global site tag (gtag.js) - Google Analytics