java生成解析Json_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java生成解析Json

java生成解析Json

 2015/5/5 0:45:21  hm4123660  程序员俱乐部  我要评论(0)
  • 摘要:最近要使用java来操作Json数据,虽然Json用过几次,但一直没有好好总结,趁这次来总结一下java操作Json数据。Java操作Json有很多工具包,地址为http://www.json.org/,可以自己上去挑选。这里我使用第一个org.json,最新源码地址为:https://github.com/douglascrockford/JSON-java,可以自己去下载,我也会在附件上传。下载源码后放进工程即可,包名为org.json1.生成Json数据我们要生成的Json数据如下:
  • 标签:Java JSON 解析 JS

??????????最近要使用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());
	}

?
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();
	}

}

?

运行结果为:



?

org.json的工具包已经上传在附件,你也可以去上面的网站到github上获取

  • 大小: 28.2 KB
  • 大小: 7.6 KB
  • org.json.zip (48.3 KB)
  • 描述: org.json包
  • 下载次数: 0
  • 查看图片附件
发表评论
用户名: 匿名