Java转JSON串的几种方式

作者 : 开心源码 本文共4164个字,预计阅读时间需要11分钟 发布时间: 2022-05-12 共162人阅读

以下总结一下java转JSON串的几种方式:

1、将java对象转成json串

2、通过JSONObject生成json串

3、通过json字符串生成json串

代码通过阿里的fastjson包实现。

代码如下:

1、Person类,包含Crad的List

package?com.doit8.test.jsontest.pojo;

import?java.util.ArrayList;

import?java.util.List;

public?class?Person?{

private?String username;

private?String email;

private?String sex;

private?int?age;

private?List?cardList=new?ArrayList();

public?String?getUsername()?{

return?username;

}

public?void?setUsername(String username)?{

this.username = username;

}

public?String?getEmail()?{

return?email;

}

public?void?setEmail(String email)?{

this.email = email;

}

public?String?getSex()?{

return?sex;

}

public?void?setSex(String sex)?{

this.sex = sex;

}

public?int?getAge()?{

return?age;

}

public?void?setAge(int?age)?{

this.age = age;

}

public?List?getCardList()?{

return?cardList;

}

public?void?setCardList(List?cardList)?{

this.cardList = cardList;

}

}

2、Card类

package?com.doit8.test.jsontest.pojo;

public?class?Card?{

private?String cardName;

private?String cardCode;

private?Integer cardValue;

public?String?getCardName()?{

return?cardName;

}

public?void?setCardName(String cardName)?{

this.cardName = cardName;

}

public?String?getCardCode()?{

return?cardCode;

}

public?void?setCardCode(String cardCode)?{

this.cardCode = cardCode;

}

public?Integer?getCardValue()?{

return?cardValue;

}

public?void?setCardValue(Integer cardValue)?{

this.cardValue = cardValue;

}

}

3、JSON解决测试类

package com.doit8.test.jsontest;

import?java.util.ArrayList;

import?java.util.List;

import?com.alibaba.fastjson.JSON;

import?com.alibaba.fastjson.JSONArray;

import?com.alibaba.fastjson.JSONObject;

import?com.doit8.test.jsontest.pojo.Card;

import?com.doit8.test.jsontest.pojo.Person;

/**?

* JSON转换?

*?

*/

public?class?App?

{

public?static?void?main(?String[] args )

{

//1。通过对象生成JSON串,对象里包含对象数组转成JSON串。 ?

Person person=new?Person();

person.setUsername(“xiejava”);

person.setSex(“man”);

person.setAge(38);

person.setEmail(“xiejava@ishareread.com”);

Card card1=new?Card();

card1.setCardName(“bankCard1”);

card1.setCardCode(“888888888”);

card1.setCardValue(99999999);

Card card2=new?Card();

card2.setCardName(“bankCard1”);

card2.setCardCode(“999999999”);

card2.setCardValue(222222222);

//对象数组 ?

List?cards=new?ArrayList();

cards.add(card1);

cards.add(card2);

person.setCardList(cards);

String?json =?JSON.toJSON(person).toString();

System.out.println(json);

//2.通过JSON对象生成JSON串 ?

JSONObject jObject=new?JSONObject();

jObject.put(“username”,?”xiejava”);

jObject.put(“sex”,?”man”);

jObject.put(“age”,?38);

jObject.put(“email”,?”xiejava@ishareread.com”);

//通过JSONArray包装对象数组 ?

JSONArray jArray=new?JSONArray();

jArray.addAll(cards);

jObject.put(“cardList”, jArray);

String?json2=jObject.toJSONString();

System.out.println(json2);

//3.通过JSON对象生成JSON串 ?

JSONObject jObject2=new?JSONObject();

jObject2.put(“username”,?”xiejava”);

jObject2.put(“sex”,?”man”);

jObject2.put(“age”,?38);

jObject2.put(“email”,?”xiejava@ishareread.com”);

//构造JSON字符串 ?

String?cardjsonStr1=”{\”cardName\”:\”bankCard1\”,\”cardCode\”:\”888888888\”,\”cardValue\”:99999999}”;

String?cardjsonStr2=”{\”cardName\”:\”bankCard2\”,\”cardCode\”:\”999999999\”,\”cardValue\”:222222222}”;

JSON.parseObject(cardjsonStr1);

JSONArray jArray2=new?JSONArray();

//将JSON字符串转成JSON对象,加入到JSONArray,[注意肯定要用JSON.parseObject()方法转换成JSON对象,否则还是字符串,转成JSON串的时候会带双引号。] ?

jArray2.add(JSON.parseObject(cardjsonStr1));

jArray2.add(JSON.parseObject(cardjsonStr2));

jObject2.put(“cardList”, jArray2);

String?json3=jObject2.toJSONString();

System.out.println(json3);

}

}

pom.xml中引入fastjson包

com.alibabagroupId>

fastjsonartifactId>

1.2.15version>

dependency>

运行结果

{“cardList”:[{“cardName”:”bankCard1″,”cardCode”:”888888888″,”cardValue”:99999999},{“cardName”:”bankCard1″,”cardCode”:”999999999″,”cardValue”:222222222}],”sex”:”man”,”age”:38,”email”:”xiejava@ishareread.com”,”username”:”xiejava”} ?

{“cardList”:[{“cardCode”:”888888888″,”cardName”:”bankCard1″,”cardValue”:99999999},{“cardCode”:”999999999″,”cardName”:”bankCard1″,”cardValue”:222222222}],”sex”:”man”,”age”:38,”email”:”xiejava@ishareread.com”,”username”:”xiejava”} ?

{“cardList”:[{“cardName”:”bankCard1″,”cardCode”:”888888888″,”cardValue”:99999999},{“cardName”:”bankCard2″,”cardCode”:”999999999″,”cardValue”:222222222}],”sex”:”man”,”age”:38,”email”:”xiejava@ishareread.com”,”username”:”xiejava”}

?为了让学习变得轻松、高效,今天给大家免费分享一套Java教学资源。帮助大家在成为Java架构师的道路上披荆斩棘。需要资料的欢迎加入学习交流群:9285,05736

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Java转JSON串的几种方式

发表回复