您好,登錄后才能下訂單哦!
這篇文章主要介紹“java中JsonObject與JsonArray怎么轉(zhuǎn)換”,在日常操作中,相信很多人在java中JsonObject與JsonArray怎么轉(zhuǎn)換問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”java中JsonObject與JsonArray怎么轉(zhuǎn)換”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
這是一個JsonArrayStr,他可以轉(zhuǎn)換為JsonArray。
[{"name":"a1"},{"name":"a2"}]
這是一個JsonObjectStr,他可以轉(zhuǎn)換為JsonObject。
{"result":[{"name":"a1"},{"name":"a2"}]}
JsonObject轉(zhuǎn)換為java對象、JsonArray轉(zhuǎn)換為Java對象
JsonObject的value為JsonArray,對應(yīng)的java類型為List。在案例中,java代碼如下(這里用的內(nèi)部類)
@Data @AllArgsConstructor @NoArgsConstructor class AList{ private List<PersonA> result; } @Data @AllArgsConstructor @NoArgsConstructor class PersonA{ private String name; }
使用fastjson轉(zhuǎn)換jsonStr為java對象,完整代碼如下
public class JsonTest { public static void main(String[] args) { String strArray ="[{\"name\":\"a1\"},{\"name\":\"a2\"}]"; String strObject ="{\"result\":[{\"name\":\"a1\"},{\"name\":\"a2\"}]}"; // parseArray保證屬性key一致即可正確轉(zhuǎn)換 List<PersonA> personAList = JSON.parseArray(strArray, PersonA.class); // parseObject需要保證屬性key一致即可正確轉(zhuǎn)換 AList aList = JSON.parseObject(strObject, AList.class); } } @Data @AllArgsConstructor @NoArgsConstructor class AList{ private List<PersonA> result; } @Data @AllArgsConstructor @NoArgsConstructor class PersonA{ private String name; }
使用hutool轉(zhuǎn)換jsonStr為java對象,核心代碼如下
List<PersonA> personAList = JSONUtil.toList(JSONUtil.parseArray(strArray), PersonA.class);
已知一個JsonArrayStr,內(nèi)容為。
[{"name":"a1"},{"name":"a2"}]
不可以直接parseObject,JsonObject格式為{},且含有鍵值對。
使用以下方法將JsonArrayStr轉(zhuǎn)換為JsonObject對象:
使用fastjson
JSONArray array = JSON.parseArray(strArray); JSONObject jsonObject = new JSONObject(); jsonObject.put("result",array);
使用hutool
JSONArray array = JSONUtil.parseObj(strArray);; JSONObject jsonObject = new JSONObject(); jsonObject.put("result",array);
即將JsonArrayStr轉(zhuǎn)換為JsonObjectStr
{"result":[{"name":"a1"},{"name":"a2"}]}
真的搞不懂,為什么上游傳一個json值下來,直接傳一個object不行么?不行么?不行么???????
有什么好說的,加括號,加鍵。
推薦使用hutool的StrUtil.wrap()
String strArray = "[{\"name\":\"a1\"},{\"name\":\"a2\"}]"; String strObject = StrUtil.wrap(strArray, "{\"result\":", "}");
最后得到的值為
{"result":[{"name":"a1"},{"name":"a2"}]}
1.將xml字符串轉(zhuǎn)換為JSONObject字符串
org.json.JSONObject jsonObjectParent=XML.toJSONObject(josnStr);
2.解析JSONObject內(nèi)容
如果解析的內(nèi)容是json數(shù)據(jù),就是帶大括號的{},就用getJSONObject(),如果解析的內(nèi)容json數(shù)組,就是帶中括號[]的,就用 getJSONArray()
到此,關(guān)于“java中JsonObject與JsonArray怎么轉(zhuǎn)換”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。