1、识别json格式字符串是JSONObject还是JSONArray
首先要分清楚 是 哪种格式 才能使用 那种进行解析
写道
{"key": "value"} //JSONObject(对象)
[{"key1": "value1"}, {"key2": "value2"}] //JSONArray(数组)
{}为对象,而 【{},{}】 为数据
[{"key1": "value1"}, {"key2": "value2"}] //JSONArray(数组)
{}为对象,而 【{},{}】 为数据
2、遍历json数组
例如 得到如下的 数据
{
"person":"weiwei",
"photos":[
{
"id":1,
"name":"head"
},
{
"id":2,
"name":"body"
}
]
}
"person":"weiwei",
"photos":[
{
"id":1,
"name":"head"
},
{
"id":2,
"name":"body"
}
]
}
可以看出来,最外面是个json对象,photos节点是个数组,遍历代码如下:
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
JSONObject jsonObject = JSONObject.fromObject(result);
String feature = jsonObject.getString("person");
JSONArray photoArray = jsonObject.getJSONArray("photos");
for (int i = 0; i < photoArray.size(); i++) {
JSONObject object = (JSONObject) photoArray.get(i);
int id = object.getInt("id");
String name = object.getString("name");
}
import net.sf.json.JSONObject;
JSONObject jsonObject = JSONObject.fromObject(result);
String feature = jsonObject.getString("person");
JSONArray photoArray = jsonObject.getJSONArray("photos");
for (int i = 0; i < photoArray.size(); i++) {
JSONObject object = (JSONObject) photoArray.get(i);
int id = object.getInt("id");
String name = object.getString("name");
}
格式化 json 在线地址 http://www.bejson.com/ (挺不错的 可以提示错误类型)
最后 解析时候 要分清楚 是对象还是数组。 (很重要)
相关推荐
一、JSONObject和JSONArray的数据表示形式 JSONObject的数据是用 { } 来表示的, 例如: { id : 123, courseID : huangt-test, title : 提交作业, content : null } 而JSONArray,顾名思义是由JSONObject构成...
在这个主题中,我们将深入探讨JSONLIB中的两个核心类:JSONObject和JSONArray。 JSONObject是JSONLIB中的一个关键类,代表了JSON规范中的一个对象,它由键值对组成,键必须是字符串,而值可以是各种JSON数据类型,...
在处理JSON数据时,我们经常使用两个核心类:`JSONObject`和`JSONArray`,它们是来自org.json库的类。这个库提供了方便的方式来操作JSON数据,包括创建、读取和修改JSON对象。 **JSONObject创建方法** 1. **从Map...
遍历JSONObject可以通过keys()方法获取一个迭代器,然后使用hasNext和next方法来依次访问每个键,再调用get方法获取对应的值。这是遍历JSON对象的标准做法。 此外,提到的Java List接口是Java集合框架的一部分,它...
在博客链接中(由于实际链接无法访问,这里仅做假设),可能详细介绍了如何在Java项目中引入`jsonObject`和`jsonArray`相关的jar包,以及如何使用这些类进行JSON操作。如果需要深入学习,可以参考官方文档、其他在线...
使用方法的区别** **JSONObject的创建**: - 直接实例化并逐个添加键值对: ```java JSONObject jsonObject = new JSONObject(); jsonObject.put("key", "value"); ``` - 通过HashMap转换: ```java ...
为了在Java项目中使用`JSONObject`和`JSONArray`,我们需要将相应的jar包添加到项目的类路径中。在您提供的文件列表中,我们看到有一个名为`json-lib-2.4-jdk15.jar`的文件,这就是包含了`JSONObject`和`JSONArray`...
在这个文档中,我们将深入探讨如何使用JSON-Lib中的`JSONObject`和`JSONArray`。 一、依赖JAR包 在使用JSON-Lib之前,需要确保引入了必要的JAR包。这些依赖包括: 1. commons-lang.jar 2. commons-beanutils.jar 3....
在Java中,我们通常使用`org.json`库来处理JSON数据,其中包含`JSONObject`和`JSONArray`两个主要类。 ### JSONObject `JSONObject`用于表示一个键值对的数据结构,类似于Java中的HashMap。在给定的示例中,创建了...
3. **复杂数据结构的处理**:JSON格式在现代API交互中广泛使用,Kesho的JSON支持使得处理这些数据变得轻而易举,无需额外的序列化和反序列化步骤。 三、Kesho-master项目 在提供的压缩包文件"Kesho-master"中,...
在Java中,我们可以通过多种方式来处理JSON数据,本文重点探讨了JSONObject和JSONArray这两种对象的使用方法。 首先,让我们了解一下JSONObject。JSONObject是一个以键值对形式存储数据的集合,它本质上是一个Map,...
对于复杂的数据结构,可以嵌套使用JSONObject和JSONArray,以表示层次化的JSON数据。 总之,Java中的org.json库提供了简单易用的API来处理JSON数据,无论是在读取服务器响应,还是在构建应用程序的数据模型时,都...
在本篇文章中,我们将深入探讨如何使用Gson库,特别是`JsonObject`和`JsonArray`,以及如何获取和使用最新的Gson jar包。 首先,我们需要理解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于...
在处理JSON数据时,我们通常会使用一些库,比如本题中提到的`json-lib`,它提供了`JSONObject`和`JSONArray`两个主要类来操作JSON。 `JSONObject`表示一个JSON对象,它由键值对组成,键和值之间用冒号分隔,键值对...
然后通过`System.out.println`打印出JSONObject对象,使用`isArray()`, `isEmpty()`和`isNullObject()`方法来判断JSONObject对象的类型和状态。 接下来,代码演示了如何向JSONObject中添加一个新的属性,并通过`...
在上述过程中,值得注意的是,当使用JSONObject和JSONArray类的方法获取数据时,必须指定正确的键值(key),这些键值是JSON字符串中定义的属性名。如果指定的键值不存在,则会抛出JSONException异常。因此,在实际...
本文将详细讲解如何将Java中的JSON字符串转换为JSONObject和JSONArray,并从中提取值。 首先,我们需要引入处理JSON的库。在这个例子中,使用的是`net.sf.json.JSONArray`和`net.sf.json.JSONObject`,这是一个开源...
理解`JSONArray`的用法对于处理JSON数据至关重要,因为JSON在现代Web服务和API中广泛使用。通过熟练掌握`JSONArray`,你可以轻松地构建和解析JSON数据,从而在开发过程中节省大量时间。在实际项目中,你可能需要处理...