JSON数据解析及gson.jar包-阿里云开发者社区

开发者社区> 奶berber> 正文

JSON数据解析及gson.jar包

简介: 从服务器端接收数据的时候,那些数据必须以浏览器能够理解的格式来发送。 服务器端的编程语言只能以如下 3 种格式返回数据: HTML XML JSON JSON一种简单的数据格式,比xml更轻巧。 JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。
+关注继续查看

从服务器端接收数据的时候,那些数据必须以浏览器能够理解的格式来发送。

服务器端的编程语言只能以如下 3 种格式返回数据: HTML XML JSON

JSON一种简单的数据格式,比xml更轻巧。

JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。

JSON的规则很简单:对象是一个无序的“‘名称:值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。 规则如下: 1)映射用冒号(“:”)表示。名称:值 2)并列的数据之间用逗号(“,”)分隔。名称1:值1,名称2:值2 3) 映射的集合(对象)用大括号(“{}”)表示。{名称1:值1,名称2:值2} 4) 并列数据的集合(数组)用方括号(“[]”)表示。

[

   {名称1:值,名称2:值2},

  {名称1:值,名称2:值2}

]  

元素值可具有的类型:string, number, object, array, true, false, null

JSON 用冒号(而不是等号)来赋值。每一条赋值语句用逗号分开。整个对象用大括号封装起来。

可用大括号分级嵌套数据。 对象描述中存储的数据可以是字符串,数字或者布尔值。对象描述也可存储函数,那就是对象的方法。

 

使用Java读取Json数据: 

 

 1 import java.io.FileReader;
 2 import com.google.gson.JsonArray;
 3 import com.google.gson.JsonObject;
 4 import com.google.gson.JsonParser;
 5 
 6 public class JsonDemo {
 7     public static void main(String []args) throws Exception{
 8         JsonParser parser = new JsonParser() ;
 9         JsonObject object = (JsonObject)parser.parse(new FileReader("src//JsonTest//test.json"));
10         // 解析string
11         System.out.println("name = "+object.get("name").getAsString());
12         // 解析数组
13         JsonArray array = object.get("like").getAsJsonArray();
14         for(int i=0;i<array.size();i++){
15             JsonObject arrayObject = array.get(i).getAsJsonObject() ;
16             System.out.println("id = "+arrayObject.get("id").getAsInt() + " say = "+arrayObject.get("say").getAsString());
17         }
18         // 解析bool类型
19         System.out.println("key = "+object.get("key").getAsBoolean());
20     }
21 }

Json文件内容:

1 {
2     "name":"奶BerBer",
3     "like":[
4         {"id":1,"say":"hello java"},
5         {"id":2,"say":"hello c++"},
6         {"id":3,"say":"hello python"}
7         ],
8     "key":true 
9 }

输出结果:

name = 奶BerBer
id = 1 say = hello java
id = 2 say = hello c++
id = 3 say = hello python
key = true

 

使用Java创建Json数据: 

 1 import com.google.gson.JsonArray;
 2 import com.google.gson.JsonObject; 
 3 
 4 public class JsonDemo {
 5     public static void main(String []args) throws Exception{ 
 6         JsonObject object = new JsonObject();
 7         object.addProperty("name","奶BerBer") ;
 8         
 9         JsonArray array = new JsonArray() ;
10         
11         JsonObject lem1 = new JsonObject() ;
12         lem1.addProperty("id","1");
13         lem1.addProperty("say","hello java"); 
14         array.add(lem1) ;
15         
16         JsonObject lem2 = new JsonObject() ;
17         lem2.addProperty("id","2");
18         lem2.addProperty("say","hello c++"); 
19         array.add(lem2) ;
20         
21         JsonObject lem3 = new JsonObject() ;
22         lem3.addProperty("id","3");
23         lem3.addProperty("say","hello python"); 
24         array.add(lem3) ;
25 
26         object.add("like",array) ;
27         object.addProperty("key","true") ;
28         
29         System.out.println(object.toString());
30     }
31 }

 

运行结果:

{"name":"奶BerBer","like":[{"id":"1","say":"hello java"},{"id":"2","say":"hello c++"},{"id":"3","say":"hello python"}],"key":"true"}

 

 

 

Json包下载: 链接:https://pan.baidu.com/s/1kULUbQ3 密码:s98k

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
OAF_文件系列5_实现OAF解析XML文件javax.xml.parsers(案例)
20150729 Created By BaoXinjian 一、摘要 通过javax.xml.parsers.DocumentBuilder解析从系统系统导入的XML文件 此过程需要用到一些包方法 1.
804 0
Java解析(读取)Json数据
以前看过书上说,XML是web service间传输信息的标准格式吧,就看了看XML。最近在做个网站,又说是有了JSON,第一回听说就看了看,总结总结一下。 1.JSON介绍   JSON比XML简单,主要体现在传输相同信息的情况下,文件的大小不同。
1311 0
数据解析
●网络解析 Gson (一个Java序列化/反序列化库,可以将JSON和java对象互相转换) Jackson (Jackson可以轻松地将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象) Fastjs...
767 0
Java数据解析之JSON
Java数据解析之JSON文章大纲一、JSON介绍二、常见框架介绍与实战三、Studio中GsonFormat插件使用四、项目源码下载(含参考资料)五、参考文档 一、JSON介绍 简介  JSON 的全称是 JavaScript Object Notation,是一种轻量级的数据交换格 式。
1977 0
+关注
奶berber
这辈子没法做太多事情,所以每做一件事都要做到精妙绝伦
77
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载