指点成金-最美分享吧

登录

如何将数据实体转换为 JSON 字符串

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了如何将数据实体转换为 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">  
  
  
 New Document   
  
  
  
  
  
  
  

示例

参考技术B C#有个很好用的第三方程序集叫Json.Net,最简单的序列化方法:string json = JsonConvert.SerializeObject(要序列化的对象);

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 字符串的主要内容,如果未能解决你的问题,请参考以下文章