java json格式的转换和读取
2019獨角獸企業重金招聘Python工程師標準>>>
package com.json;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.test.JsonHelper;
/**
?* 使用json-lib構造和解析Json數據
?*? *
?*/
public class OrgJsonTest {
??? /**
???? * 構造Json數據
???? *
???? * @return
???? * @throws JSONException
???? */
??? public static String BuildJson() throws JSONException {
??????? // JSON格式數據解析對象
??????? JSONObject jo = new JSONObject();
??????? // 下面構造兩個map、一個list和一個Employee對象
??????? Map<String, String> map1 = new HashMap<String, String>();
??????? map1.put("name", "Alexia");
??????? map1.put("sex", "female");
??????? map1.put("age", "23");
??????? Map<String, String> map2 = new HashMap<String, String>();
??????? map2.put("name", "Edward");
??????? map2.put("sex", "male");
??????? map2.put("age", "24");
??????? List<Map> list = new ArrayList<Map>();
??????? list.add(map1);
??????? list.add(map2);
??????? Employee employee = new Employee();
??????? employee.setName("wjl");
??????? employee.setSex("female");
??????? employee.setAge(24);
??????? // 將Map轉換為JSONArray數據
??????? JSONArray ja = new JSONArray();
??????? ja.put(map1);
??????? System.out.println("JSONArray對象數據格式:");
??????? System.out.println(ja.toString());
??????? // 將Javabean轉換為Json數據(需要Map中轉)
??????? JSONObject jo1 = JsonHelper.toJSON(employee);
??????? System.out.println("\n僅含Employee對象的Json數據格式:");
??????? System.out.println(jo1.toString());
??????? // 構造Json數據,包括一個map和一個含Employee對象的Json數據
??????? jo.put("map", ja);
??????? jo.put("employee", jo1.toString());
??????? System.out.println("\n最終構造的JSON數據格式:");
??????? System.out.println(jo.toString());
??????? return jo.toString();
??? }
??? /**
???? * 解析Json數據
???? *
???? * @param jsonString
???? *??????????? Json數據字符串
???? * @throws JSONException
???? * @throws ParseException
???? */
??? public static void ParseJson(String jsonString) throws JSONException,
??????????? ParseException {
??????? JSONObject jo = new JSONObject(jsonString);
??????? JSONArray ja = jo.getJSONArray("map");
??????? System.out.println("\n將Json數據解析為Map:");
??????? System.out.println("name: " + ja.getJSONObject(0).getString("name")
??????????????? + " sex: " + ja.getJSONObject(0).getString("sex") + " age: "
??????????????? + ja.getJSONObject(0).getInt("age"));
??????? String jsonStr = jo.getString("employee");
??????? Employee emp = new Employee();
??????? JsonHelper.toJavaBean(emp, jsonStr);
??????? System.out.println("\n將Json數據解析為Employee對象:");
??????? System.out.println("name: " + emp.getName() + " sex: " + emp.getSex()
??????????????? + " age: " + emp.getAge());
??? }
??? /**
???? * @param args
???? * @throws JSONException
???? * @throws ParseException
???? */
??? public static void main(String[] args) throws JSONException, ParseException {
??????? // TODO Auto-generated method stub
//??????? ParseJson(BuildJson());
??????? String str="{\"Key\":\"法院層級\",\"Value\":\"46839\",\"Child\":[{\"Key\":\"4\",\"Value\":\"38464\"},{\"Key\":\"3\",\"Value\":\"7901\"},{\"Key\":\"2\",\"Value\":\"474\"}]}";
??????? Map map=JsonHelper.toMap(str);
??????? String child=map.get("Child").toString();
??????? JsonHelper.toMap(child.substring(1,child.length()-1));
?????? ?
?????? ?
??? }
}
轉載于:https://my.oschina.net/u/2293326/blog/809076
總結
以上是生活随笔為你收集整理的java json格式的转换和读取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jq实现跳转404跳转,原生js实现跳转
- 下一篇: 【Bootstrap-插件使用】Jcro