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

java中JsonObject與JsonArray轉換方法實例

 更新時間:2023年04月21日 10:58:34   投稿:daisy  
在項目日常開發(fā)中常常會遇到JSONArray和JSONObject的轉換,很多公司剛入職的小萌新會卡在這里,下面這篇文章主要給大家介紹了關于java中JsonObject與JsonArray轉換方法的相關資料,需要的朋友可以參考下

備忘一下,首先

這是一個JsonArrayStr,他可以轉換為JsonArray。

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

這是一個JsonObjectStr,他可以轉換為JsonObject。

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

JsonObject轉換為java對象、JsonArray轉換為Java對象

JsonObject的value為JsonArray,對應的java類型為List。在案例中,java代碼如下(這里用的內部類)

@Data
@AllArgsConstructor
@NoArgsConstructor
class AList{
    private List<PersonA> result;
}

@Data
@AllArgsConstructor
@NoArgsConstructor
class PersonA{
    private String name;
}

使用fastjson轉換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一致即可正確轉換
        List<PersonA> personAList = JSON.parseArray(strArray, PersonA.class);
        // parseObject需要保證屬性key一致即可正確轉換
        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轉換jsonStr為java對象,核心代碼如下

 List<PersonA> personAList = JSONUtil.toList(JSONUtil.parseArray(strArray), PersonA.class);

JsonArray轉換為JsonObject

已知一個JsonArrayStr,內容為。

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

不可以直接parseObject,JsonObject格式為{},且含有鍵值對。

使用以下方法將JsonArrayStr轉換為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轉換為JsonObjectStr

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

真的搞不懂,為什么上游傳一個json值下來,直接傳一個object不行么?不行么?不行么???????

JsonArrayStr 轉換為 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字符串轉換為JSONObject字符串

    org.json.JSONObject jsonObjectParent=XML.toJSONObject(josnStr);

2.解析JSONObject內容

如果解析的內容是json數據,就是帶大括號的{},就用getJSONObject(),如果解析的內容json數組,就是帶中括號[]的,就用    getJSONArray()

總結

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

相關文章

最新評論