java中JsonObject与JsonArray怎么转换
这篇文章主要介绍“java中JsonObject与JsonArray怎么转换”,在日常操作中,相信很多人在java中JsonObject与JsonArray怎么转换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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()
相关内容
这些是最新的
热门排行
- THINKPHP5+GatewayWorker+Workerman 开发在线客服系统
- 在手机浏览器网页中点击链接跳转到微信界面的方法
- 尊云网站目录系统 ThinkPHP5网站分类目录程序 v2.2.221011
- CentOS 7安装shadowsock(一键安装脚本)
- AdminTemplate 基于LayUI 2.4.5实现的网站后台管理模板
- 用NW.js(node-webkit)开发多平台的桌面客户端
- PHP生成随机昵称/用户名
- THINKPHP5网站分类目录程序 尊云网站目录系统
- 织梦(DEDECMS)微信支付接口 微信插件
- 基于LayUI开发的 网站后台管理模板 BeginnerAdmin
- 响应式后台网站模板 - AMA.ADMIN
- layuiAdmin后台管理模板 Iframe版
- LayUI 1.0.9 升级 至 LayUI 2.1.4 方法
- 简洁清爽的会员中心模板
- jQuery幸运大转盘抽奖活动代码