java解析json字串,多層解析
阿新 • • 發佈:2019-02-01
json泛型如下
{ "code": 1, "message": "查詢成功", "data": [ { "type": 1, "question": "地層壓力與同井深的淡水靜液壓力之比稱為地層的()。", "answer": "1", "id": 1, "description": "題目描述", "answers": [ { "isCorrect": "1", "answer_name": "A的選項內容" }, { "isCorrect": "0", "answer_name": "B的選項內容" }, { "isCorrect": 0, "answer_name": "C的選項內容" }, { "isCorect": "0", "answer_name": "D的選項內容" } ] }, { "type": 1, "question": "起鑽時,產生的抽吸壓力導致井底壓力()。", "answer": "1", "id": 1, "description": "題目描述", "answers": [ { "isCorrect": 1, "answer_name": "A的選項內容" }, { "isCorrect": 0, "answer_name": "B的選項內容" }, { "isCorrect": 0, "answer_name": "C的選項內容" }, { "isCorrect": 0, "answer_name": "D的選項內容" } ] } ] }
匯入下面這幾個jar包
如果沒有可以到小編的資源中下載名叫json_jar 點選下載
commons-beanutils.jar
commons-collections.jar
commons-lang-2.6.jar
commons-logging-1.0.4.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar
java解析測試原始碼
import java.util.Iterator; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class hhao { @SuppressWarnings("unchecked") public static void main(String[] args) { String jsonStr = "{\"code\":1,\"message\": \"查詢成功\",\"data\": [{\"type\": 1,\"question\": \"題目名稱題目名稱題目名稱題目1111111111111111111111111\",\"answer\": \"1\",\"id\":1,\"description\": \"題目描述\",\"answers\": [{\"isCorrect\": 1,\"answer_name\": \"A的選項內容\"},{\"isCorrect\": 0,\"answer_name\": \"B的選項內容\"},{\"isCorrect\": 0,\"answer_name\": \"C的選項內容\"},{\"isCorrect\": 0,\"answer_name\": \"D的選項內容\"}]},{\"type\": \"1\",\"question\": \"題目名稱題目名稱題目名稱2222222222222222222222222222\",\"answer\": \"1\",\"id\": 1,\"description\": \"題目描述\",\"answers\": [{\"isCorrect\": 1,\"answer_name\": \"A的選項內容\"},{\"isCorrect\": 0,\"answer_name\": \"B的選項內容\"},{\"isCorrect\": 0,\"answer_name\": \"C的選項內容\"},{\"isCorrect\": 0,\"answer_name\": \"D的選項內容\"}]}]}"; JSONObject job = JSONObject.fromObject(jsonStr); System.out.println("------1----->"+job.toString()); JSONArray jArray = job.getJSONArray("data"); Iterator<JSONArray> itr = jArray.iterator(); while (itr.hasNext()) { JSONObject temp = JSONObject.fromObject(itr.next()); temp.getInt("id"); temp.getInt("type"); temp.getString("question"); System.out.println("------2----->"+temp.toString()); JSONArray janswers = temp.getJSONArray("answers"); Iterator<JSONArray> ianswers = janswers.iterator(); while (ianswers.hasNext()) { JSONObject tanswers = JSONObject.fromObject(ianswers.next()); tanswers.getInt("isCorrect"); tanswers.getString("answer_name"); System.out.println("------3----->"+tanswers.toString()); } } } }