JSON
1.JSON简介
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集, 采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语 言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。并且,很多语言或者第三方库都提供了基于JSON的API支持,这使得你基本可以在任何地方使用JSON。
2.JSON的语法格式
JSON语法格式3.JSON的解析
//解析对象类型
var jsonObj = {"name" : "韦小宝", "address" : "怡红院"}
alert(jsonObj.address)
//解析混合类型第一种
var jsonArr = [{"name":"秦琼","age":"34"},
{"name":"詹姆斯","age":"34","address":"湖人"},
{"address":"中国"}
];
alert(jsonArr[0].name)
//解析混合类型第二种
var jsonObj = {"天龙八部":[{"name":"萧峰","jineng":"降龙十八掌"},
{"name":"虚竹","jineng":"北冥神功"},
{"name":"段誉","jineng":"六脉神剑"}]};
alert(jsonObj.天龙八部[1].jineng)
4.JSON的转换工具
json的转换工具是通过java封装好的一些jar工具包,直接将java对象或集合转换成json格式的字符串。 json的转换插件是通过java的一些工具,直接将java对象或集合转换成json字符串。常用的json转换工具有如下几 种:
package com.wuhaitao.json.test;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.junit.Test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Classname JsonTest
* @Description TODO
* @Date 2019/3/8 16:32
* @Created by wuhaitao
*/
public class JsonTest {
//使用GSON
@Test
public void jsonTest() {
/*JSONObject jsonObject = new JSONObject();*/
List<String> list = new ArrayList<>();
list.add("大力娃");
list.add("千里顺风娃");
list.add("金刚娃");
list.add("火娃");
String s = JSONArray.fromObject(list).toString();
System.out.println(s);
Gson gson = new Gson();
String s1 = gson.toJson(list);
System.out.println(s1);
}
//传统的三种解析方式
@Test
public void jsonObj() {
User user = new User("小小", 12);
Gson gson = new Gson();
String s = gson.toJson(user);
System.out.println(s);
}
@Test
public void jsonArr() {
String[] arr = {"123","花花","花蛤"};
System.out.println(JSONArray.fromObject(arr).toString());
}
@Test
public void jsonMap() {
Map<String,String> map = new HashMap<>();
map.put("小明","小红");
map.put("小强","小花");
System.out.println(JSONObject.fromObject(map));
}
}
网友评论