`

java 生成 解析 json

 
阅读更多

转载

最近要使用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}]}

 

实现代码:

Java代码 复制代码 收藏代码
  1. public static void main(String[] args) {   
  2.         //创建Json   
  3.         JSONObject my_json=new JSONObject();   
  4.         my_json.put("class""二年级");   
  5.         my_json.put("total"2);   
  6.        
  7.         JSONArray members=new JSONArray();   
  8.         //第一个同学   
  9.         JSONObject member1=new JSONObject();   
  10.         member1.put("name""李小红");   
  11.         member1.put("age"18);   
  12.         member1.put("score"95);   
  13.         members.put(member1);   
  14.         //第二个同学   
  15.         JSONObject member2=new JSONObject();   
  16.         member2.put("name""王尼玛");   
  17.         member2.put("age"28);   
  18.         member2.put("score"85);   
  19.         members.put(member2);          
  20.         my_json.put("members", members);   
  21.            
  22.         System.out.println(my_json.toString());   
  23.     }  
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数据,把所有属性都解析出来。

Java代码 复制代码 收藏代码
  1. package Myclass;   
  2.   
  3. import org.json.JSONArray;   
  4. import org.json.JSONObject;   
  5.   
  6. public class Test {   
  7.   
  8.     public static void main(String[] args) {   
  9.         //解析Json--传入Json字符串   
  10.         JSONObject my_json=new JSONObject(CreateJson());           
  11.         int total=my_json.getInt("total");   
  12.         System.out.println("总数为:"+total);        
  13.            
  14.         String class_name=my_json.getString("class");   
  15.         System.out.println("班级为:"+class_name);   
  16.            
  17.         JSONArray members=my_json.getJSONArray("members");   
  18.         for(int i=0;i<members.length();i++)   
  19.         {   
  20.             JSONObject member=(JSONObject)members.get(i);   
  21.             System.out.println("姓名:"+member.getString("name")+" 年龄:"+member.getInt("age")   
  22.                     +" 成绩:"+member.getInt("score"));   
  23.         }   
  24.            
  25.     }   
  26.        
  27.     public static String CreateJson()   
  28.     {   
  29.         JSONObject my_json=new JSONObject();   
  30.         my_json.put("class""二年级");   
  31.         my_json.put("total"2);   
  32.        
  33.         JSONArray members=new JSONArray();   
  34.         //第一个同学   
  35.         JSONObject member1=new JSONObject();   
  36.         member1.put("name""李小红");   
  37.         member1.put("age"18);   
  38.         member1.put("score"95);   
  39.         members.put(member1);   
  40.         //第二个同学   
  41.         JSONObject member2=new JSONObject();   
  42.         member2.put("name""王尼玛");   
  43.         member2.put("age"28);   
  44.         member2.put("score"85);   
  45.         members.put(member2);          
  46.         my_json.put("members", members);   
  47.            
  48.         return my_json.toString();   
  49.     }   
  50.   
  51. }  
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 解析 json文件

    Java解析JSON文件是Java开发中常见的一项任务,特别是在与Web服务交互或处理API响应时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和易于阅读及编写的特点,被广泛应用于网络数据传输...

    java服务端生成json(json服务端)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们可以使用多种库来实现JSON的生成,如Gson和FastJson。 **Gson库** Google开发的Gson...

    kettle解析json串

    本文将详细介绍使用Java库解析JSON的基本方法以及如何在Kettle环境中实现这一过程。 ### Kettle与JSON解析概述 #### 1. **Kettle简介** - Kettle(Pentaho Data Integration,简称PDI)是一款开源的数据集成工具...

    java解析json完整案例

    Java解析JSON是一个常见的任务,特别是在开发Web服务或者与API交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们可以使用多种库...

    JAVA 解析JSON格式数据

    总结,Java解析JSON主要依靠第三方库,如Jackson和Gson,它们提供了解析JSON字符串到Java对象,以及将Java对象序列化为JSON字符串的功能。对于复杂的JSON结构,可以通过创建相应的Java类来映射。在实际操作中,务必...

    java生成和解析json所用到的jar包

    标题提到的“java生成和解析json所用到的jar包”可能指的是如Jackson、Gson、org.json等流行的Java JSON库。 Jackson是Java中非常流行的一个JSON库,它提供了高效的性能和丰富的功能。使用Jackson,你可以通过`...

    JAVA解析JSON相关.docx

    标题与描述均提到了“JAVA解析JSON”,这表明文档主要关注的是如何在Java环境中解析JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java...

    java创建 解析json lib包

    标题提到的“java创建 解析json lib包”指的是用于Java开发的JSON处理库,这些库可以帮助开发者方便地创建、解析和操作JSON对象。 在描述中提到的“包含json需要的所有jar包,导入工程直接使用”,意味着这个压缩包...

    使用java来解析json

    在Java编程语言中,解析JSON(JavaScript Object Notation)数据是一项常见的任务,特别是在与Web服务交互、处理API响应或读写配置文件时。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...

    使用java代码生成json文件和word文档!

    总结,使用Java生成JSON文件和Word文档需要理解数据序列化(如JSON)的概念,以及使用相关库(如Jackson和Apache POI)提供的API。通过这些库,你可以轻松地将Java对象转换为可读的JSON格式,或创建结构化的Word文档...

    pb解析与生成json

    标题 "pb解析与生成json" 涉及到的技术主要围绕着ProtoBuf(Protocol Buffers)和JSON这两种数据序列化格式。ProtoBuf是由Google开发的一种高效的数据交换的序列化协议,而JSON则是一种轻量级的数据交换格式,广泛...

    java解析Json字符串

    Java解析Json字符串是Java开发中常见的一项任务,特别是在与Web服务交互、数据交换或存储时。Json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java...

    java FASTJSON 解析复杂JSON实例源码

    1. **解析JSON字符串到Java对象** - `JSONObject.parseObject(String jsonString, Class&lt;T&gt; clazz)`:将JSON字符串解析为Java对象,其中`T`是你想要的类类型。 - `JSONArray.parseArray(String jsonString, Class...

    Java解析JSON源码

    总结来说,Java解析JSON源码主要涉及选择合适的库,如`org.json`,然后使用其提供的类(如`JSONObject`和`JSONArray`)进行解析和生成。理解这些基本操作是Java开发中处理JSON数据的基础。通过不断实践和学习,你...

    java拼接解析json

    本篇文章将深入探讨如何在Java中拼接和解析JSON。 首先,我们需要引入处理JSON的库。在Java中,常用的库有`org.json`和`com.google.gson`,这里我们以`org.json`为例,因为其API简洁且易用。要使用这个库,需要在...

    java解析json的jar包

    这个压缩包提供的是一些用于Java解析和操作JSON的库,包括json-lib-2.4-jdk15.jar,这是一个常用的JSON库,它为Java提供了方便的JSON解析和生成功能。 json-lib-2.4-jdk15.jar是主要的JSON处理库,它支持多种Java...

    java解析xml生成json对象

    在Java编程环境中,XML(可...总的来说,Java解析XML生成JSON对象的能力使得数据在不同平台和应用间无缝交换成为可能。通过学习和使用这样的工具类,开发者可以更高效地处理XML数据,并将其集成到基于JSON的系统中。

    java后台生成JSON数据

    Java 后台生成 JSON 数据是现代 Web 应用开发中的常见任务,特别是在与前端框架如 EXT 进行数据交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析...

    json类库,Java解析json必用

    除了基本的序列化和反序列化,这些库还提供了其他功能,如验证JSON格式、解析JSON片段、创建JSONPath表达式等。例如,`org.json`库的`JSONException`可以帮助捕获解析错误,而`com.google.gson.JsonSyntaxException`...

    java解析json格式数据 json.jar

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

Global site tag (gtag.js) - Google Analytics