当前位置: 首页 > 知识库问答 >
问题:

使用Jackson将Java对象转换为JSON

穆阳嘉
2023-03-14

我希望我的JSON如下所示:

{
    "information": [{
        "timestamp": "xxxx",
        "feature": "xxxx",
        "ean": 1234,
        "data": "xxxx"
    }, {
        "timestamp": "yyy",
        "feature": "yyy",
        "ean": 12345,
        "data": "yyy"
    }]
}

迄今为止的代码:

import java.util.List;

public class ValueData {

    private List<ValueItems> information;

    public ValueData(){

    }

    public List<ValueItems> getInformation() {
        return information;
    }

    public void setInformation(List<ValueItems> information) {
        this.information = information;
    }

    @Override
    public String toString() {
        return String.format("{information:%s}", information);
    }

}

public class ValueItems {

    private String timestamp;
    private String feature;
    private int ean;
    private String data;


    public ValueItems(){

    }

    public ValueItems(String timestamp, String feature, int ean, String data){
        this.timestamp = timestamp;
        this.feature = feature;
        this.ean = ean;
        this.data = data;
    }

    public String getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(String timestamp) {
        this.timestamp = timestamp;
    }

    public String getFeature() {
        return feature;
    }

    public void setFeature(String feature) {
        this.feature = feature;
    }

    public int getEan() {
        return ean;
    }

    public void setEan(int ean) {
        this.ean = ean;
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    @Override
    public String toString() {
        return String.format("{timestamp:%s,feature:%s,ean:%s,data:%s}", timestamp, feature, ean, data);
    }
}

我只是错过了如何使用Jackson将Java对象转换为JSON的部分:

public static void main(String[] args) {
   // CONVERT THE JAVA OBJECT TO JSON HERE
    System.out.println(json);
}

我的问题是:我的课正确吗?我必须调用哪个实例,以及如何实现这个JSON输出?

共有3个答案

扶高歌
2023-03-14

这可能有用:

objectMapper.writeValue(new File("c:\\employee.json"), employee);

// display to console
Object json = objectMapper.readValue(
     objectMapper.writeValueAsString(employee), Object.class);

System.out.println(objectMapper.writerWithDefaultPrettyPrinter()
     .writeValueAsString(json));
柯子琪
2023-03-14

我知道这是旧的(我是新的java),但我遇到了同样的问题。答案对我来说不像新手那么清楚...所以我想我会补充我学到的东西。

我使用了一个第三方库来帮助这项工作:org。科德豪斯。jackson可在此处找到此文件的所有下载内容。

对于基本JSON功能,您需要将以下JAR添加到项目的库中:jackson mapper asl和jackson core asl

选择项目所需的版本。(通常可以使用最新的稳定版本)。

将它们导入到项目库后,将以下import行添加到代码中:

 import org.codehaus.jackson.JsonGenerationException;
 import org.codehaus.jackson.map.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;

使用java对象定义和分配的值,您希望将这些值转换为JSON并作为RESTful web服务的一部分返回

User u = new User();
u.firstName = "Sample";
u.lastName = "User";
u.email = "sampleU@example.com";

ObjectMapper mapper = new ObjectMapper();
    
try {
    // convert user object to json string and return it 
    return mapper.writeValueAsString(u);
}
catch (JsonGenerationException | JsonMappingException  e) {
    // catch various errors
    e.printStackTrace();
}

结果应该如下所示:{“firstName”:“Sample”,“lastName”:“User”,“email”:sampleU@example.com“}

长孙雅志
2023-03-14

要使用Jackson转换JSON中的对象

import com.fasterxml.jackson.databind.ObjectMapper; 
import com.fasterxml.jackson.databind.ObjectWriter; 

ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
String json = ow.writeValueAsString(object);
 类似资料:
  • 问题内容: 我希望我的JSON看起来像这样: 到目前为止的代码: 和 我只是缺少如何使用Jackson将Java对象转换为JSON的部分: 我的问题是:我的课程正确吗?我必须调用哪个实例,以及如何实现此JSON输出? 问题答案: 要使用Jackson 转换JSON:

  • 早上好 相对来说,我是java新手,正在尝试完成一个项目,但是我遇到了问题。我的程序使用SQL构建一个URL来调用web服务,该服务将返回以下JSON: 我需要做的是在末尾去掉“False”或“True”值,根据其结果执行其他逻辑。 我不断得到以下错误: 这是我在WebCall中构建URL后的代码。java类: 在我的第二节课中,代码如下: 关于可能出错的任何想法?我觉得这可能与JSON响应上的[

  • 我尝试使用DTO到JSON(在JSON文件中写入)和JSON到DTO(从JSON文件中读取)作为常用方法(不同pojo写入/读取操作使用的通用方法) 为了作为通用方法使用,我使用返回类型作为对象。 在我的代码下面 提前道谢。

  • 本文向大家介绍如何使用Jackson库将Java对象转换为JSON?,包括了如何使用Jackson库将Java对象转换为JSON?的使用技巧和注意事项,需要的朋友参考一下 JSON或JavaScript Object Notation是一种轻量级的基于文本的开放标准,旨在用于人类可读的数据交换。JSON使用的约定是程序员已知的,包括C,C ++,Java,Python,Perl等。 有几种Java

  • 问题内容: 是否可以将Java对象直接转换为JsonNode-Object? 我发现解决此问题的唯一方法是将Java对象转换为String,然后转换为JsonNode: 问题答案: 从Jackson 1.6开始,您可以使用: 要么

  • 问题内容: 我有JSON,具有不同级别的字段,因此我想转换为具有一个级别的字段的单个JSON,例如: 结果 我正在使用带有批注的Jackson ,我对第一级字段没有问题,但是我不知道如何在JSON内部访问字段,例如和。 问题答案: JsonUnwrapped是要使用的注释,它甚至适用于多层嵌套。例如: 会产生