欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中JsonObject與JsonArray轉(zhuǎn)換方法實例

 更新時間:2023年04月21日 10:58:34   投稿:daisy  
在項目日常開發(fā)中常常會遇到JSONArray和JSONObject的轉(zhuǎn)換,很多公司剛?cè)肼毜男∶刃聲ㄔ谶@里,下面這篇文章主要給大家介紹了關(guān)于java中JsonObject與JsonArray轉(zhuǎn)換方法的相關(guān)資料,需要的朋友可以參考下

備忘一下,首先

這是一個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);

JsonArray轉(zhuǎn)換為JsonObject

已知一個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不行么?不行么?不行么???????

JsonArrayStr 轉(zhuǎn)換為 JsonObjectStr

有什么好說的,加括號,加鍵。

推薦使用hutool的StrUtil.wrap()

        String strArray = "[{\"name\":\"a1\"},{\"name\":\"a2\"}]";
        String strObject  = StrUtil.wrap(strArray, "{\"result\":", "}");

最后得到的值為

{"result":[{"name":"a1"},{"name":"a2"}]}

補充:java中JSONObject和JSONArray解析

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()

總結(jié)

到此這篇關(guān)于java中JsonObject與JsonArray轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)java JsonObject與JsonArray轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論