Java中,JSON对象与JSON字符串之间的转换;JSON对象操作;

说在前面:

        JSONObject的形式是:{"a":"火龙果","b":"火龙果","c":"火龙果"}。JSONArray形式是:[1,"b","c"]。

        其中JSONObject中可以有JSONArray,形如:{"a":["香蕉","草莓"]};JSONArray中可以有JSONObject,形如:[{"a":"苹果"},{"b":"香蕉"}];

JSONObject:

  • 创建对象,添加元素:

        见这一篇:https://blog.csdn.net/HenryMrZ/article/details/79692462

从JSON字符串转JSON对象,需要注意的是双引号需要转义字符、需要严格的按照固定的格式转换:

	JSONObject json = new JSONObject();
	System.out.println("json:"+json.fromObject("{\"a\":\"苹果\"}"));
  • 从Map转JSON对象
		Map<String , String > map=new HashMap<String , String>();
		map.put("a", "111");
		map.put("b", "222");
		System.out.println("map->json:"+JSONObject.fromObject(map));
map->json:{"a":"111","b":"222"}

JSONArray:

  • 创建对象,添加元素:

根据API调用即可,没有需要特别说明的。

  • 从JSONArray字符串转JSONArray对象:
		String s="[\"a\",\"b\",\"c\"]";
		JSONArray k=JSONArray.fromObject(s);
		System.out.println(k);
["a","b","c"]

  • 从字符串数组转JSONArray对象:
		String[] ss=new String[3];
		ss[0]="1";
		ss[1]="2";
		ss[2]="3";
		JSONArray jsonArray=JSONArray.fromObject(ss);
		System.out.println(jsonArray);
["1","2","3"]

总结:

1.字符串转JSON或者JSONArray对象时,需要严格按照固定的格式,即两边是用中括号还是大括号包围。

2.字符串解析时,不用关心JSON中是否有JSONArray或者JSONArry中是否有JSON,按照最外边的括号判断用什么解析之后自动会变成指定的对象。

3.若字符串中,有中括号或者大括号等特殊符号,见这一篇:https://blog.csdn.net/henrymrz/article/details/80819653




猜你喜欢

转载自blog.csdn.net/HenryMrZ/article/details/81055278
今日推荐