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)