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转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
java中java.util.Date和java.sql.Date之间的转换的示例
java.util.Date是java.sql.Date的父类,有时候在和SqlServer数据库打交道时,也会遇到,本文主要介绍了java中java.util.Date和java.sql.Date之间的转换的示例,具有一定的参考价值,感兴趣的可以了解一下2024-05-05
基于Lucene的Java搜索服务器Elasticsearch安装使用教程
Elasticsearch也是用Java开发的,并作为Apache许可条款下的开放源码发布,能够做到实时搜索,且稳定、可靠、快速,安装使用方便,这里我们就来看一下基于Lucene的Java搜索服务器Elasticsearch安装使用教程:2016-06-06
Spring实战之Bean定义中的SpEL表达式语言支持操作示例
这篇文章主要介绍了Spring实战之Bean定义中的SpEL表达式语言支持操作,结合实例形式分析了Bean定义中的SpEL表达式语言操作步骤与实现技巧,需要的朋友可以参考下2019-12-12


最新评论