关闭

JSon 简单例子

329人阅读 评论(0) 收藏 举报
分类:

之前在公司一直在用Google的protobuf作为前后端的数据传输协议,最近公司用Json作序列化


1.首先在百度掰开上摘取了JSON基本概念: 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。


JSon的写法类似于Java中map,键值对 key:value


一.创建定义json对象


import net.sf.json.JSONObject;


public class JsonDemo {


public static void main(String[] args) {
//创建一个Json对象,通过将字符串转化为json对象
JSONObject fromObject = JSONObject.fromObject("{'name':'Tom','age':'22',"
+ "'like':'money',"
+ "'character':['kind','cute']}");
System.out.println(fromObject);

}


}

结果:{"name":"Tom","age":"22","like":"money","character":["kind","cute"]}

创建一个Json集合

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;


public class JsonDemo {


public static void main(String[] args) {
//创建一个Json集合类
JSONArray jsonArray = new JSONArray();
jsonArray.add("Mary");
jsonArray.add("Jack");
System.out.println(jsonArray);

//创建一个Json集合类
JSONArray json = new JSONArray();
JSONObject objectOne  = JSONObject.fromObject("{'name':'Tom','age':'22',"
+ "'like':'money',"
+ "'character':['kind','cute']}");

JSONObject objectTwo  = JSONObject.fromObject("{'name':'Jack','age':'23',"
+ "'like':'meet',"
+ "'character':['kind','fool']}");

json.add(objectOne);
json.add(objectTwo);
System.out.println(json);
}

结果:

["Mary","Jack"]
[{"name":"Tom","age":"22","like":"money","character":["kind","cute"]},{"name":"Jack","age":"23","like":"meet","character":["kind","fool"]}]

复杂的JSon对象构建


import net.sf.json.JSONArray;
import net.sf.json.JSONObject;


public class JsonTest {


public static void main(String[] args) {
//创建一个Json对象
JSONObject jsonObject = new JSONObject(); 
JSONObject tomOject = new JSONObject(); 
//创建一个Json集合类
JSONArray jsonArray = new JSONArray();
jsonArray.add("Mary");
jsonArray.add("Jack");
//定義一個Json對象
tomOject.put("name", "Tom");
tomOject.put("age", 16);
tomOject.put("edu", "BenKe");
//將數組放入該對象之一
tomOject.put("friend", jsonArray);
jsonObject.put("Tom", tomOject);
System.out.println(jsonObject);

}


}

结果:{"Tom":{"name":"Tom","age":16,"edu":"BenKe","friend":["Mary","Jack"]}}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23591次
    • 积分:692
    • 等级:
    • 排名:千里之外
    • 原创:47篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条