定制网站[java]JsonObject与JsonArray转换

备忘一下,首先
这是一个JsonArrayStr,定制网站定制网站他可以转换为JsonArray

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

这是一个JsonObjectStr,他可以转换为JsonObject

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

JsonObject转换为java对象、转换为Java对象

JsonObject的value为JsonArray,对应的java类型为List。在案例中,java代码如下(定制网站这里用的内部类)

@Data@AllArgsConstructor@NoArgsConstructorclass AList{    private List<PersonA> result;}@Data@AllArgsConstructor@NoArgsConstructorclass PersonA{    private String name;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 使用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@NoArgsConstructorclass AList{    private List<PersonA> result;}@Data@AllArgsConstructor@NoArgsConstructorclass PersonA{    private String name;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 使用hutool转换jsonStr为java对象,核心代码如下
 List<PersonA> personAList = JSONUtil.toList(JSONUtil.parseArray(strArray), PersonA.class);
  • 1

JsonArray转换为JsonObject

已知一个JsonArrayStr,内容为。

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

不可以直接parseObject,JsonObject格式为{},且含有键值对。
使用以下方法将JsonArrayStr转换为JsonObject对象:

  • 使用fastjson
        JSONArray array = JSON.parseArray(strArray);        JSONObject jsonObject = new JSONObject();        jsonObject.put("result",array);
  • 1
  • 2
  • 3
  • 使用hutool
        JSONArray array = JSONUtil.parseObj(strArray);;        JSONObject jsonObject = new JSONObject();        jsonObject.put("result",array);
  • 1
  • 2
  • 3

即将JsonArrayStr转换为JsonObjectStr

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

真的搞不懂,为什么上游传一个json值下来,直接传一个object不行么?不行么?不行么???????

JsonArrayStr 转换为 JsonObjectStr

有什么好说的,加括号,加键。
推荐使用hutool的StrUtil.wrap()

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

最后得到的值为

{"result":[{"name":"a1"},{"name":"a2"}]}
  • 1
网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发