我的要求是将普通Java对象转换为JSON格式 -
Java对象具有以下格式 -
Record Id: 168349200
Name: jane
City: abababa
State: ababab
Insertion Date: 18/04/2017 10:16:17
我已经阅读了一些教程,发现GSON库是一种方法。我尝试在我的Eclipse项目中安装gson jar(使用Eclipse Mars Release(4.5.0))。
但是当我这样做时 -
import com.google.gson.Gson
在我想要将Java对象转换为JSON的类中,它会引发异常。
我想我还没有正确添加GSON jar文件。
请有人帮忙。
感谢。
答案 0 :(得分:0)
尝试:
Gson gson = new Gson();
String jsonString = null;
try {
jsonString = gson.toJson(javaObject);
} catch (Exception e) {
e.printStackTrace();
}
答案 1 :(得分:0)
使用ObjectMapper从Java Object到Json:
ObjectMapper objMapper = new ObjectMapper().setSerializationInclusion(Include.NON_NULL);
MyObject mObject = new MyObject();
String jsonObject ="";
mObject.setField1(value1);
mObject.setField2(value2);
mObject.setField3(value3);
try {
jsonObject = objMapper.writeValueAsString(mObject);
System.out.println(jsonObject); //You can then store it in a file
} catch (JsonProcessingException e) {
e.printStackTrace();
}
您应该添加以下导入:
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
在pom.xml中这些行:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.7.5</version>
</dependency>