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。
from :http://blog.csdn.net/cwx01perfect/article/details/7559832
相关推荐
总的来说,`JSONObject`是Java中处理JSON数据的重要工具,无论是解析从服务器接收的数据还是构建要发送到服务器的数据,都离不开它的支持。了解并熟练掌握`JSONObject`的使用,对于进行Web开发或API接口设计至关重要...
在这个例子中,我们使用`JSONObject.Parse`方法解析JSON字符串,并通过键来获取对应的值。注意类型转换,因为`JSONObject`中的值默认为`dynamic`类型,我们需要显式转换为实际类型。 此外,`com.force.json`还支持...
2. **使用JSONObject解析JSON字符串** `JSONObject`类提供了一个构造函数,可以将JSON格式的字符串转换为`JSONObject`对象。例如: ```java import org.json.JSONObject; public class JsonExample { public ...
本文将详细介绍使用Java库解析JSON的基本方法以及如何在Kettle环境中实现这一过程。 ### Kettle与JSON解析概述 #### 1. **Kettle简介** - Kettle(Pentaho Data Integration,简称PDI)是一款开源的数据集成工具...
C#的一个解析JSON的工具类,像java一样优雅的解析JSON数据,包含有JSONObject和JSONArray对象。 JSONObject json = new JSONObject(); json.Put("sex", "男"); json.Put("age", 123); json.Put("name", "张三"); ...
总结来说,Java中解析JSON文件有多种方法,可以根据项目需求选择合适的库。Jackson和Gson通常更受开发者欢迎,因为它们提供了方便的数据绑定功能。无论选择哪种方式,都需要确保正确地映射JSON结构到Java对象,以便...
解析JSON字符串 当你从服务器获取或从文件读取到一个JSON字符串时,可以使用`JSONObject`将其解析为可操作的对象。以下是如何进行解析的示例: ```java import net.sf.json.JSONObject; String jsonString = "{\...
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换...
或者,如果你需要将C++对象转换回JSON字符串,可以使用`Json::dump`方法: ```cpp json11::Json userObject; // 设置userObject的属性... std::string jsonString = userObject.dump(); ``` 在MFC应用程序中,你...
3. **解析JSON数据**:使用`jsonObject.Parse(jsonString)`方法,其中`jsonString`是包含JSON数据的字符串。解析成功后,你可以通过`jsonObject.Get()`或`jsonObject.GetArray()`方法访问键值对或数组。 4. **处理...
用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里...
本文将详细介绍如何使用JSONObject来生成和解析JSON数据。 首先,我们需要了解JSON数据格式的基本组成。JSON数据主要由四种结构组成,分别是对象(Object)、数组(Array)、值(Value)和键(Key)。在JSON中,...
本文将探讨在Java中解析JSON的两种主要方法:使用JSON库和利用Java内置的JSON处理API。 首先,我们来看使用JSON库的方式。在提供的压缩包文件中,包含了一些常见的Java JSON处理库,如json-lib-2.3-jdk15.jar。这个...
在Android Studio中解析JSON,通常使用的是`org.json`库,它包含两个主要类:`JSONObject`和`JSONArray`。`JSONObject`用于处理键值对,而`JSONArray`则处理有序的元素列表。 解析JSON对象的步骤如下: 1. **导...
3. **PB解析JSON**:PowerBuilder提供了一些内置或第三方库来解析JSON数据,例如使用pbjson、jsonobject等类库。解析JSON数据时,首先需要将响应内容转换为字符串,然后使用JSON解析器将字符串转换为数据结构,如数...
`JSONObject`可以从一个Java对象创建,也可以解析为一个JSON字符串。例如,我们有一个简单的Java对象: ```java public class User { private String name; private int age; // getters and setters } ``` 要...
Java解析JSON是一个常见的任务,特别是在开发Web服务或者与API交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们可以使用多种库...
在本文中,我们将深入探讨如何使用Gson解析JSON数据,包括处理简单JSON和复杂的JSON结构。 首先,我们要了解JSON的基本概念。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,...
在这个方法中,我们使用了`org.json`库中的`JSONObject`和`JSONArray`类来解析JSON字符串。下面通过一个例子来详细介绍这个过程: ```java String strJson = "{\"students\":[{\"name\":\"Jack\",\"age\":12},{\...