首页 > 作文

使用Gson将字符串转换成JsonObject和JsonArray

更新时间:2023-04-04 22:12:00 阅读: 评论:0

目录
gson将字符串转jsonobject和jsonarray以下均利用gson来处理jso如何自学软件编程nobject与json互转引入 jar , 此处引入 com.alibaba.fastjson 版本的jar包建立测试类对象转换

gson将字符串转jsonobject和jsonarray

以下均利用gson来处理

1.将bean转换成json字符串:

public static string beantojsonstring(object bean) {  return new gson().tojson(bean); }

2.将json字符串转换成对象:

public static obje马关条约影响ct jsontoobject(string json,class beanclass) {  gson gson = new gson();  object res = gson.fromjson(json, beanclass);  return res; }

注:转换后的对象使用前进行强转:例如bean bean1 = (bean)formatutil.jsontoobject(json, bean.class);

3.将json字符串转换成jsonobject对象:

jsonobject returndata = new jsonparr().par(jsonstr).getasjsonobject();

4.将jsonarray类型的json字符串解析成对象方法

  gson gson = new gson();  jsonparr parr = new jsonparr();  jsonarray jarray = parr.par(jstring).getasjsonarray();  arraylist<channelarchenum> lcs = new arraylist<channelarchenum>();  for(jsonelement obj : jarray ){    channelarchenum c = gson.fromjson( obj , channelarchenum.class);    lcs.add(c);  }

或者

string json = "[{\"urname\":\"test\"},{\"urname\":\"test2\"}]";system.out.println(new jsonparr().par(json).getasjsonarray().get(0).getasjsonobject().get("urname").getasstring());

5.获取jsonobject中指定key值对应的jsonarray对象:

string json= "{\"pids\":[\"1\",\"2\",\"3\"]}";system.out.println(new jsonparr().par(json).getasjsonobject().getasjsonarray("pids").get(0).getasstring());

jsonobject与json互转

使用目的

目前数据交互大多以 json 字符串为信息传输,主要格式有

{“age”:”22″,”name”:”李四”}

[{“age”:”21″,”name”:”张三”}]

最常见的应用场景是前后端对接,第三方平台文档对接,下面展示转换使用。

引入 jar , 此处引入 com.alibaba.fastjson 版本的jar包

    <dependency>   <groupid>com.alibaba</groupid>   <artifactid>fastjson</artifactid>   <version>1.1.31</version>  </dependency>

建立测试类对象

class student { private string name; private string age; public string getname() {  return name; } public void tname(string name) {  this.name = name; } public string getage() {  return age; } public void tage(string age) {  this.age = age; }}

转换

1、对象 转 json

    student stu1 = new student();  stu1.tname("张三");  stu1.tage("21");  string stu1json = jsonobject.tojsonstring(stu1);

输出:

{“age”:”21″,”name”:”张三”}

2、json 转 对象

    student stu1to = json.parobject(stu1json, student.class);  system.out.println("json 转对象:");  system.out.println(stu1to);  system.out.println(stu1to.getname());  system.out.println(stu1to.getage());

输出:

json 转对象:
student@2aae9190
张三
21

注:json键名要与对象属性名相对应

3、对象数组 转 json

    student stu2 = new student();  stu2.tname("李四");  stu2.tage("22");  list<student> list = new arraylist<student>();  list.add(stu1);  list.add(stu2);  string listjson = jsonobject.tojsonstring(l二校门ist);  system.out.println(listjson);

输出:

[{“age”:”21″,”name”:”张三”},{“age”:”22″,”name”:”李四”}]

4、json 转 对象数组

    list<student> studentlist = json.pararray(listjson, student.class);  for (student student : studentlist) {   system.out.println(student.getname());  }

输出:

json 数组格式转换对象
张三
李四

5、json多级组合,适用于请求文档传输参数

    jsonobject jsona = new jsonobject();  jsona.put("number", "1");  jsonobject jsonb = new jsonobject();  jsonb.put("listmap", list);  jsonobject jsonall = new jsonobject();  jsonall.put("jsona", jsona);  jsonall.put("jsonb", jsonb);  string jsonallstr =jsonobject.tojsonstring(jsonall);  system.out.println(jsonallstr);

输出:

{“jsona”:{“number”:”1″},”jsonb”:{“listmap”:[{“age”:”21″,”name”:”张三”},{“age”:”22″,”name”:”李四”}]}}

6、多级 json 组合

6.1、只获取指定字段,接上方示例代码

st活动主持词ring getjsona = json.parobject(jsonallstr).getstring("jsona");string strjsona = json.parobject(getjsona, string.class); //指定获取 字段名对象信息,如果为单个string可不指定,这里作为实例写出system.out.println("只拿jsona信息");system.out.println(strjsona);

输出:

只拿jsona信息
{“number”:”1″}

6.2、获取指定字段对象

  s武松事迹tring getjsonb = json.parobject(jsonallstr).getstring("jsonb"); string getjsonbb = json.parobject(getjsonb).getstring("listmap");  //这里被二级包裹,所以要获取2次才能转换对象数组 list<student> strjsonb = json.pararray(getjsonbb, student.class); system.out.println("只拿jsonbb信息"); system.out.println(strjsonb);

输出:

只拿jsonbb信息
[student@3d04a311, student@7a46a697]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。

本文发布于:2023-04-04 22:11:59,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/eb1aefc0cf3a5079bc6eaa3969b88a3a.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:使用Gson将字符串转换成JsonObject和JsonArray.doc

本文 PDF 下载地址:使用Gson将字符串转换成JsonObject和JsonArray.pdf

上一篇:碳酸钠危害
下一篇:返回列表
标签:对象   字符串   数组   李四
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图