首页 > 代码库 > Java生成json

Java生成json

需求:编写代码生成如下的json,并打印输出,并得到其中的某一元素”城市“的列表:

[    {“城市”:“北京”,“面积”:16800,“人口”:1600},    {“城市”:“上海”,“面积”:6400,“人口”:1800}]

有如下两种方式生成:

1.通过操作对象的形式,将键值对一个个加进去

代码1:

public static void jsonTest() {				JSONArray json = new JSONArray(); 	    	    JSONObject member1 = new JSONObject();  	    member1.put("城市", "北京");  	    member1.put("面积", "16800");  	    member1.put("人口","1600");   	    json.add(member1);  	  	    JSONObject member2 = new JSONObject();  	    member2.put("城市", "上海");  	    member2.put("面积", "6400");  	    member2.put("人口","1800");  	    json.add(member2); 	    	    System.out.println(json.toString());	    		for(int i=0;i<json.size();i++){		    System.out.println(json.getJSONObject(i).get("城市"));		}	  }

2.直接将字符串转换成json

代码2:

private static void jsonTest2() {		//注意此处的引号应加上转义字符		String str ="[{\"城市\":\"北京\",\"面积\":\"16800\",\"人口\":\"1600\"},{\"城市\":\"上海\",\"面积\":\"6400\",\"人口\":\"1800\"}]";		JSONArray json = JSONArray.fromObject(str);				System.out.println(json.toString());	   		for(int i=0;i<json.size();i++){		    System.out.println(json.getJSONObject(i).get("城市"));		}	}

上面两种方式的输出结果是一样的,均为:

[{"城市":"北京","面积":"16800","人口":"1600"},{"城市":"上海","面积":"6400","人口":"1800"}]北京上海