https://blog.csdn.net/qq_35221138/article/details/81239968
list、map、对象,enum对应json的格式
全文用到com.alibaba.fastjson.JSONArray所以我们先引入相应的依赖
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>fastjson</artifactId>
- <version>1.2.7</version>
- </dependency>
1.list对应json格式
- 对应代码:
- List<String> list = new ArrayList<String>();
- list.add("zhi");
- list.add("bing");
- list.add("ze");
- System.out.print("未经json处理:");
- System.out.println(list);
- String json = JSONArray.toJSONString(list);
- System.out.print("经json处理:");
- System.out.println(json);
- 未经json处理:[zhi, bing, ze]
- 经过json处理:["zhi","bing","ze"]
- [
- "zhi",
- "bing",
- "ze"
- ]
2.map对应的json格式
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("1", "zhi");
- map.put("2", "bing");
- map.put("3", "ze");
- map.put("4", 1);
- map.put("5", 4l);
- System.out.print("未经json处理:");
- System.out.println(map);
- String mapJson = JSONArray.toJSONString(map);
- System.out.print("经过json处理:");
- System.out.println(mapJson);
- 未经json处理:{3=ze, 2=bing, 1=zhi, 5=4, 4=1}
- 经过json处理:{"3":"ze","2":"bing","1":"zhi","5":4,"4":1}
- {
- "1":"zhi",
- "2":"bing",
- "3":"ze",
- "4":1,
- "5":4
- }
3.对象对应的json格式
- Person person = new Person();
- person.setAge(20);
- person.setName("zhibingze");
- System.out.print("未经json处理:");
- System.out.println(person);
- String objJson = JSONArray.toJSONString(person);
- System.out.print("经过json处理:");
- System.out.println(objJson);
- 未经json处理:Person{name='zhibingze', age=20}(这里要注意给Person对象添加toString方法)
- 经过json处理:{"age":20,"name":"zhibingze"}
- {
- "age":20,
- "name":"zhibingze"
- }
总结:通过简单的例子,知道了list、mqp以及对象在未转换成json字符串和转换成json字符串的格式样式,再遇到复杂的json字符串的时候,能知道他的结构是如何组成的,方便大家对json字符串的解析,数据的调用。(注意map和对象解析的json格式相同都是object对象,而list解析的json格式是array)
1.List对应的json格式
eg: {"ids":["1","2","3"]}
ids:集合名称
["1","2","3"]:集合中放入的值
2.单个对象的json格式
{"id":"1"}
id:对象名称
“1”:值
3.多个参数传递对应的json格式
public void updateLoca(String id,Loc info , long ts) {}
{"id":"1","info":{"lo":20.2,"la":23.6,"city":"zhongguo"},"ts":10}
注:其中info为一个类的对象,其中有自己的属性
5.enum对应的json格式:
是
{
"invoiceTypeEnum" : "TYPE_004"
}
而不是:
{
"invoiceTypeEnum" : {
"invoiceTypeCode":"xxx",
"invoiceTypeName": "飞飞"
}
}
说明:https://blog.csdn.net/cyjs1988/article/details/100108825