Json优点:易与人的阅读和编写,易于程序解析。
Json的数据结构有两种:
1).Object对象(A collection of name/value pairs):键值对的结构,key必须为String类型的,value可以是基本数据类型或其他自定义的对象。对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
此种数据结构适用于Map转Json:
JSONObject jsonObject=JSONObject.fromObject(map);
2).Array数组(An ordered list of values)
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
此种数据结构适用于List转Json
JSONArray jsonArray=JSONArray.fromObject(list);
需要的jar包:
(找不到包的可以找一下Maven依赖)
JsonTest.java
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by BenHep on 2018/8/15.
*/
public class JSonTest {
public static void main(String[] args){
testJs();
}
private static void testJs() {
Map<String,String> map=new HashMap<>();
map.put("userName","Benjamin");
map.put("userId","17");
map.put("userGrade","T3");
map.put("userSex","male");
JSONObject jsonObject=JSONObject.fromObject(map);
System.out.print(jsonObject);
System.out.println();
String js=jsonObject.toString();
System.out.print(js);
System.out.println();
System.out.println(jsonObject.get("userName"));
System.out.println(jsonObject.get("userGrade"));
System.out.println(map.get("userName"));
List<String> list=new ArrayList<>();
list.add("Hepburn");
list.add("Audrey");
JSONArray jsonArray=JSONArray.fromObject(list);
System.out.println(jsonArray);
System.out.println(list);
}
}
Output:
{"userSex":"male","userGrade":"T3","userName":"Benjamin","userId":"17"}
{"userSex":"male","userGrade":"T3","userName":"Benjamin","userId":"17"}
Benjamin
T3
Benjamin
["Hepburn","Audrey"]
[Hepburn, Audrey]