JSONObject中Java对象和json互转

java对象转json

依赖:

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.75</version>
</dependency>
  • 直接使用toJSONSring()将对象转化为json字符串
@Test
public void testJson(){
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
    ArticlesService articlesService = context.getBean("articlesServiceImpl", ArticlesService.class);
    Articles ar = articlesService.getArticleById(1);
    System.out.println(JSONObject.toJSONString(ar));
}

结果:

{"author":"汤小小","content":"<p>这是一对平凡夫妻的故事...","id":1,"title":"18本画册的爱恋"}
  • 注意:对象如果属性值为空,则不会转化
Articles ar = articlesService.getArticleById(1);
ar.setAuthor(null);
ar.setContent("");
System.out.println(JSONObject.toJSONString(ar));

结果:

{"content":"","id":1,"title":"18本画册的爱恋"}
  • json字符串转化jsonObject对象
Articles ar = articlesService.getArticleById(1);
ar.setAuthor(null);
ar.setContent("");
String jsonstr = JSONObject.toJSONString(ar);
System.out.println(jsonstr);
JSONObject j = JSONObject.parseObject(jsonstr);
System.out.println(j.getString("title"));

结果:

{"content":"","id":1,"title":"18本画册的爱恋"}
18本画册的爱恋

附方法使用说明:

//Java对象转换成String类型的JSON字符串
JSONObject.toJSONString(Java对象)
 //String类型的JSON字符串转换成Java对象
 JSONObject.toJavaObject(JSON字符串,Java对象.class)
 //Json字符串转换成JSONObject对象
 JSONObject.parseObject(JSON字符串)
 //JSON字符串转换成Java对象
 JSONObject.parseObject(JSON字符串,Java对象.class)