1.JSON介绍
JSON比XML简单,主要体现在传输相同信息的情况下,文件的大小不同。
JSON只用于传输信息,XML还可以用于配置文件的使用。
JSON中的符号主要有: " , [ { :
2.JSON中的数组和对象
2.1 数组(JSONArray)
数组用一对[],表示存放的是一般的数组数据。
如:["11","22","33"],表示这是一个JSONArray数组,里面有3个数据:'11','22','33'。当然可以是复杂的数据,就是所谓的嵌套定义吧。
2.2 对象(JSONObject)
对象用一对{},来表示其中JSON通用的”键-值“对。
如:
var Query={
"name":"Test",
"age":12
};
Query表示的是一个JSON对象,里面有两组数据(键值对),name=Test,age=12。当然这里键对应的数据值,可以是复杂的JSON对象或者数组。
3.代码示例
3.1基本的JSONArray与JSONObject操作
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class ObjectAndArray1 {
public static void main(String args[])
{
JSONObject jsonObj = new JSONObject();
jsonObj.put("name0", "zhangsan");
jsonObj.put("sex1", "female");
System.out.println(jsonObj); //输出为:{"sex1":"female","name0":"zhangsan"}
JSONArray jsonArray = new JSONArray();
jsonArray.add("11");
jsonArray.add("22");
jsonArray.add("33");
System.out.println(jsonArray); //输出为:["11","22","33"]
//传入json字符串
jsonObj = JSONObject.fromObject("{\"name\":\"Test\",\"age\":999}");
System.out.println(jsonObj.get("name"));
System.out.println(jsonObj.get("age"));
}
}
3.2由java自带的数据结构转换为JSON文本
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class ObjectAndArray2{
public static void main(String args[])
{
//可以由数组,列表等生成JSONArray
String list[]={"11","22"};
JSONArray jsonarray = JSONArray.fromObject(list);
jsonarray.add("33");
System.out.println(jsonarray); //输出为:["11","22","33"]
//可以由Map生成JSONObject
Map<String,Object> map=new HashMap<String,Object>();
map.put("NO1", "第一个");
map.put("NO2", "第二个");
map.put("NO3", jsonarray);
JSONObject jsonObj = JSONObject.fromObject(map);
System.out.println(jsonObj);
//输出为:{"NO3":["11","22","33"],"NO2":"第二个","NO1":"第一个"}
}
}
3.3读取JSON文本
JSONArray必须用下标读取内部数据。
JSONObject必须用”键“读取对应的”值“。
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class ObjectAndArray {
public static void main(String args[])
{
JSONArray jsonarray;
JSONObject jsonObj;
//读取JSONArray,用下标索引获取
String array="[\"11\",\"22\",\"33\"]";
jsonarray = JSONArray.fromObject(array);
System.out.println(jsonarray.getString(1)); //输出为:22
//读取JSONObject
String object="{\"NO1\":[\"44\",\"55\",\"66\"],\"NO2\":{\"NO1\":\"第一个\"}}";
jsonObj = JSONObject.fromObject(object);
System.out.println(jsonObj.get("NO1")); //输出为:["44","55","66"]
jsonarray = (JSONArray)(jsonObj.get("NO1"));
System.out.println(jsonarray.getString(1)); //输出为:55
//用"键"获取值
jsonObj=(JSONObject)jsonObj.get("NO2");
System.out.println(jsonObj); //输出为:{"NO1":"第一个"}
}
}
4.总结
JSON就是一种数据的组织形式,可以说是XML的简化版本,只用于数据传输。
Java字符串转换成Json对象时:JsonArray和JsonObject都是用fromObject方法得到Json对象。
分享到:
相关推荐
Java解析JSON文件是Java开发中常见的一项任务,特别是在与Web服务交互或处理API响应时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和易于阅读及编写的特点,被广泛应用于网络数据传输...
在Java编程中,处理JSON数据是一项常见的任务,特别是在与服务器进行数据交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本教程将深入讲解...
Java中解析JSON数据主要依赖于一些库,如org.json库(包含JSONObject和JSONArray类)。 在Java中,解析JSON数据的步骤通常分为以下几个部分: 1. **导入相关库**:首先,你需要在项目中引入JSON库。如果是使用...
3. 解析JSON:读取JSON字符串,然后使用`parseObject`或`parseArray`方法将其转换为Java对象或集合。 4. 遍历和访问数据:一旦有了Java对象,你可以通过字段名或索引来访问和操作数据。 5. 反序列化:如果你需要将...
【标签】:“java解析DWG文件json java读取dwg文件” 本文将详细介绍如何使用Java和SuperMap iObjects Java库解析DWG文件并将其转换为JSON格式。SuperMap iObjects Java是一款强大的GIS(地理信息系统)开发工具,...
- 添加适当的步骤来读取JSON数据。 - 使用Java脚本步骤来解析JSON数据。 #### 3. **解析JSON** - 使用`JSON Simple`库解析JSON。 - 根据实际需求遍历JSON对象并提取所需字段。 - 对于每个字段,根据其类型进行...
解决当内存资源不充足时大数据量的JSON文本解析为JSON对象会导致内存溢出的问题。 基于org.json的部分源代码,以及新增的JsonLazyer类。 原理:用时创建的规则降低传统解析器一次性将文本转成Java对象而占用大量内存...
本篇文章将深入探讨如何在Java中解析JSON数据。 首先,我们需要一个JSON库来帮助我们进行解析工作。Java标准库并不内置JSON处理功能,但有多个开源库可供选择,如Gson、Jackson、org.json和JSON-P。这里我们以广泛...
在Android开发中,有时我们需要从服务器获取JSON数据并解析它以展示在应用中。这个"android 动态解析获取json数据的键值对"的项目就是针对这种情况的一个实例,主要展示了如何在Eclipse环境下,不预先创建JSON键值...
- **读取JSON字符串**:你可以从文件、网络流或字符串中读取JSON数据。 ```java String jsonString = Files.readString(Paths.get("path_to_your_json_file.json")); ``` - **将JSON字符串转换为Java对象**:...
java解析dxf文件返回json工具类
Java语言在处理各种类型的数据文件方面具有广泛的应用...用户只需提供KML文件路径,即可获得相应的JSON数据,大大简化了处理地理信息的流程。这在地理信息系统(GIS)应用开发、地图数据处理等领域都有很大的实用价值。
从HTTP响应中读取JSON数据后,我们可以使用`JSONObject`或`JSONArray`进行解析: ```java BufferedReader reader = new BufferedReader(new InputStreamReader(in)); StringBuilder sb = new StringBuilder(); ...
支持excel2003,2007的解析读取,可指定sheet页读取,指定行开始读取,过滤空行,指定列读取,过滤空单元格,支持json文件的解析读取,支持word文件的解析读取,txt文件等等,需要API文档可私信本人
- **Android操作JSON格式数据**:Android提供了Gson库、org.json库等工具来解析和生成JSON数据。 - **Android数据库操作**:SQLite是Android内置的轻量级数据库,可以用于持久化数据。 - **Android Activity操作**:...
这里我们将深入探讨如何使用Java来获取指定接口的JSON数据,并涉及`HttpServletRquest`类的重要作用。 首先,理解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,...
### Java解析JSON的方法 在Java开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。因此,在处理Web服务、API接口等方面,JSON数据格式非常常见...
对于Java Web服务端获取JSON数据,通常涉及到Servlet、JSP或Spring MVC等框架。当客户端通过HTTP请求发送JSON数据时,服务端需要解析这些数据。例如,在Servlet中,可以使用HttpServletRequest的getInputStream方法...
解析完JSON数据后,你可以将结果绑定到UI组件,如ListView、RecyclerView等,或者用于业务逻辑处理。 在AndroidManifest.xml中,如果没有特殊权限需求,这部分内容不会直接影响JSON解析。但是,如果你的JSON数据...
在这个场景中,开发者遇到了一个问题:尝试使用Java解析JSON数据,但未能成功提取出数据。 首先,我们需要理解Java如何处理JSON数据。Java提供了多种库来解析和生成JSON,如Jackson、Gson和org.json等。在这里,...