java解析複雜json:JSONObject 和 JSONArray的使用
在正式解析之前,我們需要下載解析Json所需要的jar包,一共有7個。
下載地址如下:https://download.csdn.net/download/zai_xia/10374080
大家也可以自行找資源下載。
然後將這些Jar包 Build Path 進專案就好了。
特別注意:commons-collections這個jar包要用3.x版本的,不能用4.x版本;commons-lang這個jar包要用2.x版本的,不能用3.x版本的。
我們的目的是解析下面這樣的json內容:
{
"data":{
"items":[
{
"itemstring":"手機",
"itemcoord":{"x" :0,"y":100,"width":40,"height":20},
}
],
"session_id":"",
},
"code":0,
"message":"OK"
}
程式碼如下:
package format; import net.sf.json.*; public class ResolveJson { public static void main(String[] args) { String json = "{\"data\":{\"items\":[{\"itemstring\":\"手機\",\"itemcoord\":{\"x\":0,\"y\":100,\"width\":40,\"height\":20},}],\"session_id\":\"\",},\"code\":0,\"message\":\"OK\"}"; JSONObject jsonObject = JSONObject.fromObject(json); JSONObject data = jsonObject.getJSONObject("data"); JSONArray items = jsonObject.getJSONObject("data").getJSONArray("items"); JSONObject row = null; for(int i=0; i<items.size(); i++){ row = items.getJSONObject(i); System.out.println("itemstring :" + row.get("itemstring")); JSONObject itemcoord = row.getJSONObject("itemcoord"); System.out.println("x:" + itemcoord.get("x")); System.out.println("y:" + itemcoord.get("y")); System.out.println("width:" + itemcoord.get("width")); System.out.println("height:" + itemcoord.get("height")); } System.out.println("session_id:" + data.get("session_id")); System.out.println("code:" + jsonObject.get("code")); System.out.println("code:" + jsonObject.get("message")); } }
執行結果:
其實解析過程就是將json看情況轉換成JSONObject物件或JSONArray陣列,再進行下一步處理,最終得到目的值。
相關推薦
java解析複雜json:JSONObject 和 JSONArray的使用
在正式解析之前,我們需要下載解析Json所需要的jar包,一共有7個。下載地址如下:https://download.csdn.net/download/zai_xia/10374080大家也可以自行找資源下載。然後將這些Jar包 Build Path 進專案就好了。特別注意
java解析複雜json資料
java如何解析複雜的json資料 關於json處理的包有好幾個,比如jackson、Gson、Fastjson。Gson是谷歌做的,功能強大;Fastjson是阿里巴巴做的,效能更快。具體用哪個,開心就好。我這裡兩個都沒用,用的是java的一個類庫—json-
fastjson對json字串JSONObject和JSONArray互相轉換操作示例
package com.tapt.instance; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObjec
Java基礎系列16:使用JSONObject和JSONArray解析和構造json字串
轉自:https://www.zifangsky.cn/561.html 一 介紹 在Java開發中,我們通常需要進行XML文件或JSON字串的構造和解析。當然在Java Web開發中有一些第三方外掛是可以自動完成Java物件和json之間的轉換的,比
復雜json的解析:jsonobject與jsonArray的使用
string art 發起人 姓名 create 記錄 instance param rtt String parameter = { success : 0, errorMsg : "錯誤消息", data : { total : "總
java json字串轉JSONObject和JSONArray以及取值
import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonTest { public static void main(String[] args) { Str
android 讀取JSON資料(遍歷JSONObject和JSONArray)
private String getJson() { //jsonString中含有比如unicode編碼字元\u67ef的話,getString時自動會轉化為相應語言字元。 //從伺服器獲取的資料片段一般為以下格式 /*{"showid":"38f5ef6ae
java 解析複雜的json字串
json資料 String parameter = { success : 0, errorMsg : "錯誤訊息", data : { total : "總記錄數", rows : [ {
JAVA-使用FastJson解析複雜JSON資料
FastJson解析JSON的核心就是把json資料直接轉換成物件,讓解析複雜的json資料變得非常簡單,較大的降低了出錯的可能性。 使用方法: 1.建立JSON資料物件,所有的json鍵值都使用key作為變數名,並且實現set,get函式。 下面試簡單的demo測試複雜的
後端java解析複雜巢狀json
其實不是很複雜 百度翻譯傳過來的json資料:{"from":"zh","to":"en","trans_result":[{"src":"高度600米","dst":"Height 600 meters"}]} 現在要取出dst對應的值:Height 600 meter
json字串轉換為JSONObject和JSONArray .
一.下載json 具體到http://www.json.org/上找java-json下載,並把其放到專案原始碼中,這樣就可以引用其類物件了 二.具體轉化過程 //JSONObject String jsonMessage = "{\"語文\":\"88\",\"數學\":\"78\",\"計算機\":\
JSON物件中的JSONObject和JSONArray以及與Map、String、陣列的轉化
本文一句的寫作思路:由簡入繁 一、簡單模式 1、建立JSONObject物件 JSONObject json=new JSONObject();json.put("name", "小明");json.put("age", "10");System.out.println(json.toString());
java使用jackson解析複雜json字串
為什麼要用 jackson jackson 憑藉其簡潔的語法、高效的處理速度、豐富的功能、清晰的文件等眾多優勢,受到廣大開發者的熱愛,成為了java程式設計師處理json資料的不二選擇。 1 實戰需求 在電商專案中,訂單物流查詢模組,需要接入多方快遞 API
使用Memcached改進Java企業級應用性能:架構和設置
利用 簡單的 數據 ref 壓縮文件 查找 停止 font tran Memcached由Danga Interactive開發。用來提升LiveJournal.com站點性能。Memcached分布式架構支持眾多的社交網絡應用,Twitter、Facebook還有Wi
JSONObject和JSONArray
content arr title tint string huang ets 般的 bject 一、JSONObject和JSONArray的數據表示形式 JSONObject的數據是用 { } 來表示的, 例如: { "id" : "123", "
java入門必學:HTML和CSS
java ;入門 ; html; css Java開發已經悄無聲息的走進我們的生活中,無論是手機軟件、手機Java遊戲還是電腦軟件等,只要你使用到電子產品就會碰到和Java有關的東西,更多的企業正采用Java語言開發網站,也吸引了好多誌同道合的朋友開始加入Java開發的行列。 我們知道在
java 進階一:代理和動態代理
實現 public rgs tostring 開源項目 body llb ack code 靜態代理: 定義頂級接口:Iservice //目標類和代理類都實現該接口 public interface Iservice { public String serv
Java基礎 實驗二:類和物件
1.實驗目的 掌握類的宣告、物件的建立、方法的定義和呼叫、建構函式的使用。 2.實驗內容 1)定義一個表示學生資訊的類Student,要求如下: ① 類Student的成員變數: sNO 表示學號;
Android Retrofit2框架的使用,以及解析複雜Json(其實也不算太複雜)
Retrofit是Square公司的開源專案,是基於OKHttp進行的應用層封裝 Retrofit官方文件:http://square.github.io/retrofit/ Retrofit GitHub地址:https://github.com/square/retro
[fastjson] - fastjson中 JSONObject 和 JSONArray
/** * 對jsonObject物件進行key的獲取 * @param jsonObject */ public ArrayList<String> jsonKeyRecursion(JSONObject jsonObject,ArrayL