java操作Json数据

最近要使用java来操作Json数据,虽然Json用过几次,但一直没有好好总结,趁这次来总结一下java操作Json数据。Java操作Json有很多工具包,地址为http://www.json.org/,可以自己上去挑选。

这里我使用第一个org.json,最新源码地址为:https://github.com/douglascrockford/JSON-java,可以自己去下载,我也会在附件上传。下载源码后放进工程即可,包名为org.json

我们要操作的Json数据如下:

{"total":2,"class":"二年级","members":[{"age":18,"name":"李小红","score":95},{"age":28,"name":"王尼玛","score":85}]}

我们先用CreateJson()方法生成Json数据,然后把所有属性都解析出来。

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

复制代码

运行结果为:

时间: 2024-10-20 20:34:47

java操作Json数据的相关文章

Java操作JSON数据(2)--Gson操作JSON数据

Gson是Google公司发布的一个开发源码的Java库,可用于将Java对象转换为JSON字符串,也可用于将JSON字符串转换为对应的Java对象.本介绍下Gson的基本使用方法,包括序列化和反序列化:文中所使用到的软件版本:Java 1.8.0_191.Gson 2.8.6. 1.引入依赖 <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactI

JAVA操作JSON格式数据

由于近些日子公司在弄微信项目,而微信官方API所提供的接口当中,有些需要以POST方式进行请求,且数据传输格式要求为JSON格式数据,之前没怎么研究过,而且传递的数据格式相对也比较简单,所以直接都是采用的字符串拼接的方式进行组装的,之后再用String.format格式化一下就好了. //需要提交的json数据 String jsonData = "{\"openid\":\"%s\",\"to_groupid\":%d}";

java传递json数据到jsp中的js

在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如: JSON字符串: var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象: var str2 = { "name": "cxh", "sex": "man&qu

JAVA解析JSON数据

转自:http://www.cnblogs.com/boy1025/p/4551593.html 3.解析JSON数据(小编使用的GSON进行json数据的解析) 3-1 [JSONObject的解析] 下面是一个json文件: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

JAVA的JSON数据包装-博客园老牛大讲

一.什么是json呢? {     "id":"1",     "username":"老牛大讲堂",     "password":"123" } 这就是json数据.用来和页面(HTMl)进行通信的. 二.通信为什么用json呢? 没有为啥,因为都用json.前端也好,后端也好,都用json数据传输. 三.java怎样把数据包装成json数据? 第一步:导入jar包.jar包自己下吧

Java处理Json数据

JSON结构有两种结构: json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构. 1.对象:对象在js中表示为"{}"括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字.字符串.数组.对象几种. 2.数组:数组在js中是中括

js之操作JSON数据

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包. 本文主要是对JS操作JSON的要领做下总结. 在JSON中,有两种结构:对象和数组. 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束.每个“名称”后跟一个“:”(冒号):“‘名称/值’ 对”之间运用

java系列--JSON数据的处理

http://blog.csdn.net/qh_java/article/details/38610599 http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/23/3096001.html java处理JSON的框架就我目前知道的有3种: 1.Jackson框架: 提供两个类 JsonGenerator    ObjectMapper 2.josn-lib框架:提供的主要类有 JSONObject      JSONArray 3.org-

jQuery操作json数据

json是一种轻量级数据交换格式,简单的json格式为[{"key1":"value1"},{"key2":"value2"}], []代表数组,{}代表数组中的数据对象,key1,key2是一个json对象中的key,一个json中key值唯一,value1,value2,是key键对应的值. 下面使用jquery解析简单的son文件. 这里是songs.json文件内容 [ {"optionKey":&