JSON数据解析及gson.jar包
来源:互联网 发布:伊利丹7.3知乎 编辑:程序博客网 时间:2024/06/05 06:06
从服务器端接收数据的时候,那些数据必须以浏览器能够理解的格式来发送。
服务器端的编程语言只能以如下 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数据:
import java.io.FileReader; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; public class JsonDemo { public static void main(String []args) throws Exception{ JsonParser parser = new JsonParser() ; JsonObject object = (JsonObject)parser.parse(new FileReader("src//JsonTest//test.json")); // 解析string System.out.println("name = "+object.get("name").getAsString()); // 解析数组 JsonArray array = object.get("like").getAsJsonArray(); for(int i=0;i<array.size();i++){ JsonObject arrayObject = array.get(i).getAsJsonObject() ; System.out.println("id = "+arrayObject.get("id").getAsInt() + " say = "+arrayObject.get("say").getAsString()); } // 解析bool类型 System.out.println("key = "+object.get("key").getAsBoolean()); } }
Json文件内容:
{ "name":"奶BerBer", "like":[ {"id":1,"say":"hello java"}, {"id":2,"say":"hello c++"}, {"id":3,"say":"hello python"} ], "key":true }
输出结果:
name = 奶BerBerid = 1 say = hello javaid = 2 say = hello c++id = 3 say = hello pythonkey = true
使用Java创建Json数据:
import com.google.gson.JsonArray; import com.google.gson.JsonObject; public class JsonDemo { public static void main(String []args) throws Exception{ JsonObject object = new JsonObject(); object.addProperty("name","奶BerBer") ; JsonArray array = new JsonArray() ; JsonObject lem1 = new JsonObject() ; lem1.addProperty("id","1"); lem1.addProperty("say","hello java"); array.add(lem1) ; JsonObject lem2 = new JsonObject() ; lem2.addProperty("id","2"); lem2.addProperty("say","hello c++"); array.add(lem2) ; JsonObject lem3 = new JsonObject() ; lem3.addProperty("id","3"); lem3.addProperty("say","hello python"); array.add(lem3) ; object.add("like",array) ; object.addProperty("key","true") ; System.out.println(object.toString()); } }
运行结果:
{"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
阅读全文
0 0
- JSON数据解析及gson.jar包
- 利用Gson jar包解析json串组装成list
- 谷歌推出的json解析jar包Gson
- Gson解析Json数据
- Gson解析Json数据
- Gson解析Json数据
- Gson解析json数据
- Gson解析json数据
- Gson解析Json数据
- Gson解析Json数据
- gson 解析json数据
- GSON解析json数据
- Gson解析Json数据
- Gson解析Json数据
- Gson解析json数据
- Gson解析json数据
- gson 解析json数据
- Gson解析json数据
- 在Fragment的延时操作中如何更新UI
- java线程同步
- JS生成某个范围的随机数【四种情况详解】
- webpack基础配置入门
- Genymotion安装
- JSON数据解析及gson.jar包
- TensorFlow命名空间和TensorBoard图节点
- 水仙花的数量
- Python中string总结
- python中 __name__及__main()__的妙处
- Android 6.0 7.0 8.0特性变更
- 针对Android的木马程序Loapi好毒!可以真正的破坏整支手机
- SpringMVC
- 视频帧数的控制