最近工作遇到了 Json 解析的相关需求,整理下 JSONObject 相关操作。
文中使用的例子都是基于阿里巴巴的产品 FastJSON ,涉及到的包有:
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject;
下面列举了开发过程中遇到过的一些常用操作:
(1) 创建 JSONObject
private static void createJSONObject() { JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "Jason"); jsonObject.put("id", 1); jsonObject.put("phone", "18271415782"); System.out.println(jsonObject.toString()); }
(2) 创建 JSONArray
public static void createJsonArray() { JSONArray jsonarray = new JSONArray(); JSONObject node = new JSONObject(); node.put("name","kwang"); node.put("age",20); jsonarray.add(node); node = new JSONObject(); node.put("name","xkang"); node.put("age",15); jsonarray.add(node); System.out.println(jsonarray); }
(3) String 转换为 JSONObject 对象
public static void StringToJson(String str) { JSONObject json = (JSONObject)JSONObject.parse(str); Iterator it = json.keySet().iterator(); while (it.hasNext()) { String key = it.next().toString(); String value = String.valueOf(json.get(key)); System.out.println(key + ":" + value); } }
(4) JSONObject 转换为 String
public static void JsonToSTring() { JSONObject json = new JSONObject(); //向json中添加数据 json.put("name", "kwang"); json.put("height", 175); json.put("age", 24); //创建JSONArray数组,并将json添加到数组 JSONArray array = new JSONArray(); array.add(json); //转换为字符串 String jsonStr = array.toString(); System.out.println(jsonStr); }
【参考链接】
[1] feri, JAVA中的四种JSON解析方式详解.