一、JSON (JavaScript Object Notation)
1、轻量级数据交换格式能够替代XML的工作
2、数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小(简洁、简单、体积小)
3、易于解析这种语言, 客户端JavaScript可以简单的通过eval()进行JSON数据的读取
4、服务器端的解析,跨语言(包括ActionScript, C, C#, ColdFusion,Java,JavaScript,Perl,PHP,Python,Ruby等语言服务器端语言)
5、各语言对JSON支持的特别好,自从Ajax的流行,JSON格式传输就更流行了
6、它是前端和后台交互用的。
7、它是键值对的
二、Java的转JSON串的方式:
1、JAVA将对象转成JSON串
2、通过的JSONObject生成JSON串
3、通过JSON字符串生成JSON串
4、代码通过阿里的FASTJSON包实现
package com.zpark; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.junit.Test; /**
* @author cosmo
* @Title: JsonJunit
* @ProjectName
* @Description:
* @date
*/
public class JsonJunit { @Test
public void testJson(){
//1 JAVA将对象转成JSON串
Student s = new Student();
s.setId("0001");
s.setName("lisi");
s.setAge(18);
s.setMark(90.0);
String json1 = JSON.toJSON(s).toString();
System.out.println(json1); //2 JSONObject生成JSON串
JSONObject jObject=new JSONObject();
jObject.put("username", "zhangsan");
jObject.put("sex", "男");
jObject.put("age", 28);
jObject.put("email", "123456789@qq.com");
JSONArray jArray=new JSONArray();
jObject.put("studentList", jArray);
String json2=jObject.toJSONString();
System.out.println(json2); //3 JSON字符串生成JSON串
JSONObject jObject2=new JSONObject();
//构造JSON字符串
String cardjsonStr1="{\"username\":\"xiaoming\",\"sex\":\"男\",\"age\":8}";
String cardjsonStr2="{\"username\":\"lihua\",\"sex\":\"女\",\"age\":18}";
JSON.parseObject(cardjsonStr1);
JSONArray jArray2=new JSONArray();
//将JSON字符串转成JSON对象,加入到JSONArray
//注意一定要用JSON.parseObject()方法转换成JSON对象,否则还是字符串,转成JSON串的时候会带双引号
jArray2.add(JSON.parseObject(cardjsonStr1));
jArray2.add(JSON.parseObject(cardjsonStr2));
jObject2.put("studentList", jArray2);
String json3=jObject2.toJSONString();
System.out.println(json3);
}
}