JSon 简单例子
2015-07-07 20:44
561 查看
之前在公司一直在用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"]}}
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"]}}
相关文章推荐
- JAWR【一个java项目的javascript和CSS集成和压缩工具】
- JSP整理总结--JSP指令、动作标签
- javascript笔记02:严格模式的特定要求
- JavaScript学习笔记
- 完美的js URLEncode函数
- js 增删改查
- 高性能javascript小结
- 枚举做JSP下拉选框的数据源
- 【转载】JavaScript 经典实例收集整理
- JavaScript之this用法详解
- js window对象
- 【翻译】使用Sencha Ext JS 6打造通用应用程序
- 【转载】理解 Javascript 中变量的作用域
- jsp:useBean用法
- 【翻译】使用Sencha Ext JS 6打造通用应用程序
- 【翻译】使用Sencha Ext JS 6打造通用应用程序
- 【翻译】使用Sencha Ext JS 6打造通用应用程序
- JavaScript教程
- rhino-在JAVA中调用javascript脚本
- plupload:在一个jsp中创建多个上传控件