JSON是一种以键值对传递的数据格式,本文主要针对JSON数据格式在JavaScript以及Java语言中的具体应用,JSON相关介绍以及和其他数据格式的比较将在接下来的文章中给出。
一、JavaScript是JSON的主战场,JSON可以说是JavaScript对象文字符号的一个子集,由于JSON是JavaScript的一个子集,所以它可以自如的在JavaScript中使用。
在JSON中,有两种结构:对象和数组。
1.创建json对象
var jsonObject1 = {};
jsonObject1["name"] = 'stryang';
jsonObject1["sex"] = '男';
jsonObject1["age"] = 24;
//或者
var jsonObject2 = {"name":'stryang',"sex":'男',"age":24};
2.创建json数组
var jsonArray = [];
var jsonObject1 = {"name":'stryang',"sex":'男',"age":24};
var jsonObject2 = {"name":'stryang',"sex":'男',"age":24};
var jsonObject3 = {"name":'stryang',"sex":'男',"age":24};
var jsonObject4 = {"name":'stryang',"sex":'男',"age":24};
jsonArray.push(jsonObject1);
jsonArray.push(jsonObject2);
jsonArray.push(jsonObject3);
jsonArray.push(jsonObject4);
3.json字符串转json对象(使用json.js)
//json字符串
var jsonStr = '{"name":'stryang',"sex":'男',"age":24}';
var jsonObject = jsonStr.parseJSON();
//或者
jsonObject = JSON.parse(jsonStr);
4.json对象转json字符串(使用json.js)
var jsonObject = {"name":'stryang',"sex":'男',"age":24};
var jsonStr = jsonObject .toJSONString();
二、Java中有许多操作JSON的开发包,这里以alibaba的fastjson.jar为例。
1.由java对象生成json字符串
//JSON.toJSONString(Object object)方法可以将任何一个java对象转为json字符串,其键值分别对应java对象的属性和属性的值
User stryang = new User("stryang", "男", 24);
String jsonStr = JSON.toJSONString(object);
2.将json字符串转为java对象
String jsonStr = "{\"name\":\"stryang\",\"sex\":\"男\",\"age\":24}";
User stryang = JSON.parseObject(jsonStr, User.class);
3.将json数组字符串转为json数组并解析
//json数组字符串
String jsonArrayStr = "[{\"name\":\"stryang\",\"sex\":\"男\",\"age\":24},{\"name\":\"stryang\",\"sex\":\"男\",\"age\":24},{\"name\":\"stryang\",\"sex\":\"男\",\"age\":24}]";
JSONArray jsonArray = JSON.parseArray(jsonArrayStr);
//解析数组里面json字符串
for(int i = 0;i < jsonArray.size();i ++){
User user = JSON.parseObject(jsonArray.getString(i), User.class);
}