一、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); } }