篇首语:本文由小编为大家整理,主要介绍了如何将数据实体转换为 JSON 字符串相关的知识,希望对你有一定的参考价值。
将数据实体转换为 JSON 字符串的方法:先将java对象转换为json对象,在将json对象转换为json字符串
JSONObject json = JSONObject.fromObject(obj);//将java对象转换为json对象
String str = json.toString();//将json对象转换为字符串
参考代码如下:
package baz.parse;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSON;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import baz.bean.Person;
public class ParseJson
private String jsonStr;
public ParseJson()
public ParseJson(String str)
this.jsonStr = str;
/**
* 解析json字符串
*/
public void parse()
JSONObject jsonObject = JSONObject.fromObject(jsonStr);
String name = jsonObject.getString("name");
int num = jsonObject.getInt("num");
String sex = jsonObject.getString("sex");
int age = jsonObject.getInt("age");
System.out.println(name + " " + num + " " + sex + " " + age);
//将json字符串转换为java对象
public Person JSON2Object()
//接收对象,此处接收数组对象会有异常
if(jsonStr.indexOf("[") != -1)
jsonStr = jsonStr.replace("[", "");
if(jsonStr.indexOf("]") != -1)
jsonStr = jsonStr.replace("]", "");
JSONObject obj = new JSONObject().fromObject(jsonStr);//将json字符串转换为json对象
Person jb = (Person)JSONObject.toBean(obj,Person.class);//将建json对象转换为Person对象
return jb;//返回一个Person对象
参考技术A html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
示例
jackJson
JackJson
- jackJson
- 将javaBean对象转换为json字符串
- 将json字符串写入文件
- 将json字符串转换成实体类对象
- 将List转换为json字符串
jackJson
将javaBean对象转换为json字符串
1、先创建一个jackJson的核心对象 ObjectMapper以及实体类对象
ObjectMapper om=new ObjectMapper();User user=new User("才春磊",20,"1020308280@qq.com");
2、把实体类转换成json格式的字符串
try String userstr = om.writeValueAsString(user); System.out.println(userstr); catch (IOException e) e.printStackTrace(); /*打印结果"name":"才春磊","age":20,"email":"1020308280@qq.com"*/
通过ObjectMapper中的writeValueAsString()方法将实体类的对象转换成了Json字符串
将json字符串写入文件
try om.writeValue(new File("D:\\json.txt"),user); catch (IOException e) e.printStackTrace();
通过ObjectMapper中的writeValue()方法将实体类转换的Json字符串写入文件中
注解:
@JsonIgnore 写在实体类中,表示在将对象转换为Json字符串的时候忽略这个属性@JsonFormat(pattern = "yyyy-MM-dd") 写在实体类中,表示将实体类对象转换为Json字符串的时候,日期类属性,以什么形式转换为Json字符串
将json字符串转换成实体类对象
public static void main(String[] args) //把Json格式的字符串转换成指定的实体类对象 //创建jackJson的核心类ObjectMapper ObjectMapper om =new ObjectMapper(); //创建User实体类对象 User user=new User("才春磊",20,"asdf"); try //将实体类对象转换成Json字符串 String userStr = om.writeValueAsString(user); System.out.println(userStr); //将User类转换过来的Json字符串转回Json对象 //User.class反射的方法 User user1 = om.readValue(userStr, User.class); System.out.println(user); catch (IOException e) e.printStackTrace(); /*运行结果"name":"才春磊","age":20,"email":"asdf"Username="才春磊", age=20, email="asdf"*/
将List转换为json字符串
public static void main(String[] args) ObjectMapper om =new ObjectMapper(); User user=new User("才春磊",20,"aaaa"); User user2=new User("才春磊1",21,"bbbb"); User user3=new User("才春磊2",22,"cccc"); List<User> list=new ArrayList<User>(); list.add(user); list.add(user2); list.add(user3); //把list集合转换成json字符串 try String listStr = om.writeValueAsString(list); System.out.println(listStr); catch (IOException e) e.printStackTrace(); /*运行结果为["name":"才春磊","age":20,"email":"aaaa","name":"才春磊1","age":21,"email":"bbbb","name":"才春磊2","age":22,"email":"cccc"]*/
将Map转换为json字符串
public static void main(String[] args) ObjectMapper om=new ObjectMapper(); Map<String,Object> map=new HashMap<String,Object>(); map.put("name","才春磊"); map.put("sex","男"); map.put("age",20); try String jsonMap = om.writeValueAsString(map); System.out.println(jsonMap); catch (IOException e) e.printStackTrace(); /*运行结果"sex":"男","name":"才春磊","age":20*/
以上是关于如何将数据实体转换为 JSON 字符串的主要内容,如果未能解决你的问题,请参考以下文章