转载
最近要使用java来操作Json数据,虽然Json用过几次,但一直没有好好总结,趁这次来总结一下java操作Json数据。Java操作Json有很多工具包,地址为http://www.json.org/,可以自己上去挑选。
这里我使用第一个org.json,最新源码地址为:https://github.com/douglascrockford/JSON-java,可以自己去下载,我也会在附件上传。下载源码后放进工程即可,包名为org.json
1.生成Json数据
我们要生成的Json数据如下:
{"total":2,"class":"二年级","members":[{"age":18,"name":"李小红","score":95},{"age":28,"name":"王尼玛","score":85}]}
实现代码:
- public static void main(String[] args) {
- //创建Json
- JSONObject my_json=new JSONObject();
- my_json.put("class", "二年级");
- my_json.put("total", 2);
- JSONArray members=new JSONArray();
- //第一个同学
- JSONObject member1=new JSONObject();
- member1.put("name", "李小红");
- member1.put("age", 18);
- member1.put("score", 95);
- members.put(member1);
- //第二个同学
- JSONObject member2=new JSONObject();
- member2.put("name", "王尼玛");
- member2.put("age", 28);
- member2.put("score", 85);
- members.put(member2);
- my_json.put("members", members);
- System.out.println(my_json.toString());
- }
public static void main(String[] args) { //创建Json JSONObject my_json=new JSONObject(); my_json.put("class", "二年级"); my_json.put("total", 2); JSONArray members=new JSONArray(); //第一个同学 JSONObject member1=new JSONObject(); member1.put("name", "李小红"); member1.put("age", 18); member1.put("score", 95); members.put(member1); //第二个同学 JSONObject member2=new JSONObject(); member2.put("name", "王尼玛"); member2.put("age", 28); member2.put("score", 85); members.put(member2); my_json.put("members", members); System.out.println(my_json.toString()); }
2.解析Json数据
我们就用刚刚生成的Json数据,把所有属性都解析出来。
- package Myclass;
- import org.json.JSONArray;
- import org.json.JSONObject;
- public class Test {
- public static void main(String[] args) {
- //解析Json--传入Json字符串
- JSONObject my_json=new JSONObject(CreateJson());
- int total=my_json.getInt("total");
- System.out.println("总数为:"+total);
- String class_name=my_json.getString("class");
- System.out.println("班级为:"+class_name);
- JSONArray members=my_json.getJSONArray("members");
- for(int i=0;i<members.length();i++)
- {
- JSONObject member=(JSONObject)members.get(i);
- System.out.println("姓名:"+member.getString("name")+" 年龄:"+member.getInt("age")
- +" 成绩:"+member.getInt("score"));
- }
- }
- public static String CreateJson()
- {
- JSONObject my_json=new JSONObject();
- my_json.put("class", "二年级");
- my_json.put("total", 2);
- JSONArray members=new JSONArray();
- //第一个同学
- JSONObject member1=new JSONObject();
- member1.put("name", "李小红");
- member1.put("age", 18);
- member1.put("score", 95);
- members.put(member1);
- //第二个同学
- JSONObject member2=new JSONObject();
- member2.put("name", "王尼玛");
- member2.put("age", 28);
- member2.put("score", 85);
- members.put(member2);
- my_json.put("members", members);
- return my_json.toString();
- }
- }
package Myclass; import org.json.JSONArray; import org.json.JSONObject; public class Test { public static void main(String[] args) { //解析Json--传入Json字符串 JSONObject my_json=new JSONObject(CreateJson()); int total=my_json.getInt("total"); System.out.println("总数为:"+total); String class_name=my_json.getString("class"); System.out.println("班级为:"+class_name); JSONArray members=my_json.getJSONArray("members"); for(int i=0;i<members.length();i++) { JSONObject member=(JSONObject)members.get(i); System.out.println("姓名:"+member.getString("name")+" 年龄:"+member.getInt("age") +" 成绩:"+member.getInt("score")); } } public static String CreateJson() { JSONObject my_json=new JSONObject(); my_json.put("class", "二年级"); my_json.put("total", 2); JSONArray members=new JSONArray(); //第一个同学 JSONObject member1=new JSONObject(); member1.put("name", "李小红"); member1.put("age", 18); member1.put("score", 95); members.put(member1); //第二个同学 JSONObject member2=new JSONObject(); member2.put("name", "王尼玛"); member2.put("age", 28); member2.put("score", 85); members.put(member2); my_json.put("members", members); return my_json.toString(); } }
运行结果为:
org.json的工具包已经上传在附件,你也可以去上面的网站到github上获取
相关推荐
Java解析JSON文件是Java开发中常见的一项任务,特别是在与Web服务交互或处理API响应时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和易于阅读及编写的特点,被广泛应用于网络数据传输...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们可以使用多种库来实现JSON的生成,如Gson和FastJson。 **Gson库** Google开发的Gson...
本文将详细介绍使用Java库解析JSON的基本方法以及如何在Kettle环境中实现这一过程。 ### Kettle与JSON解析概述 #### 1. **Kettle简介** - Kettle(Pentaho Data Integration,简称PDI)是一款开源的数据集成工具...
Java解析JSON是一个常见的任务,特别是在开发Web服务或者与API交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们可以使用多种库...
总结,Java解析JSON主要依靠第三方库,如Jackson和Gson,它们提供了解析JSON字符串到Java对象,以及将Java对象序列化为JSON字符串的功能。对于复杂的JSON结构,可以通过创建相应的Java类来映射。在实际操作中,务必...
标题提到的“java生成和解析json所用到的jar包”可能指的是如Jackson、Gson、org.json等流行的Java JSON库。 Jackson是Java中非常流行的一个JSON库,它提供了高效的性能和丰富的功能。使用Jackson,你可以通过`...
标题与描述均提到了“JAVA解析JSON”,这表明文档主要关注的是如何在Java环境中解析JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java...
标题提到的“java创建 解析json lib包”指的是用于Java开发的JSON处理库,这些库可以帮助开发者方便地创建、解析和操作JSON对象。 在描述中提到的“包含json需要的所有jar包,导入工程直接使用”,意味着这个压缩包...
在Java编程语言中,解析JSON(JavaScript Object Notation)数据是一项常见的任务,特别是在与Web服务交互、处理API响应或读写配置文件时。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...
总结,使用Java生成JSON文件和Word文档需要理解数据序列化(如JSON)的概念,以及使用相关库(如Jackson和Apache POI)提供的API。通过这些库,你可以轻松地将Java对象转换为可读的JSON格式,或创建结构化的Word文档...
标题 "pb解析与生成json" 涉及到的技术主要围绕着ProtoBuf(Protocol Buffers)和JSON这两种数据序列化格式。ProtoBuf是由Google开发的一种高效的数据交换的序列化协议,而JSON则是一种轻量级的数据交换格式,广泛...
Java解析Json字符串是Java开发中常见的一项任务,特别是在与Web服务交互、数据交换或存储时。Json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java...
1. **解析JSON字符串到Java对象** - `JSONObject.parseObject(String jsonString, Class<T> clazz)`:将JSON字符串解析为Java对象,其中`T`是你想要的类类型。 - `JSONArray.parseArray(String jsonString, Class...
总结来说,Java解析JSON源码主要涉及选择合适的库,如`org.json`,然后使用其提供的类(如`JSONObject`和`JSONArray`)进行解析和生成。理解这些基本操作是Java开发中处理JSON数据的基础。通过不断实践和学习,你...
本篇文章将深入探讨如何在Java中拼接和解析JSON。 首先,我们需要引入处理JSON的库。在Java中,常用的库有`org.json`和`com.google.gson`,这里我们以`org.json`为例,因为其API简洁且易用。要使用这个库,需要在...
这个压缩包提供的是一些用于Java解析和操作JSON的库,包括json-lib-2.4-jdk15.jar,这是一个常用的JSON库,它为Java提供了方便的JSON解析和生成功能。 json-lib-2.4-jdk15.jar是主要的JSON处理库,它支持多种Java...
在Java编程环境中,XML(可...总的来说,Java解析XML生成JSON对象的能力使得数据在不同平台和应用间无缝交换成为可能。通过学习和使用这样的工具类,开发者可以更高效地处理XML数据,并将其集成到基于JSON的系统中。
Java 后台生成 JSON 数据是现代 Web 应用开发中的常见任务,特别是在与前端框架如 EXT 进行数据交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析...
除了基本的序列化和反序列化,这些库还提供了其他功能,如验证JSON格式、解析JSON片段、创建JSONPath表达式等。例如,`org.json`库的`JSONException`可以帮助捕获解析错误,而`com.google.gson.JsonSyntaxException`...
3. **JSONParser**:这是解析JSON数据的主要工具类,它提供了`parse()`方法,可以从JSON格式的字符串或输入流中解析出JSON对象或数组。 4. **JSONStringer** 和 **JSONWriter**:这两个类用于生成JSON格式的字符串...