如何在Eclipse中将Java对象转换为JSON对象

时间:2017-04-20 09:20:13

标签: java json eclipse

我的要求是将普通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文件。

请有人帮忙。

感谢。

2 个答案:

答案 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>