如何获得JSON的一部分,作为杰克逊使用纯文本

最大Gabderakhmanov:

我得从API一个JSON如下:

    "hotel_data": {
        "name": "Hotel Name",
        "checkin_checkout_times": {
            "checkin_from": "14:00",
            "checkin_to": "00:00",
            "checkout_from": "",
            "checkout_to": "12:00"
        },
        "default_language": "en",
        "country": "us",
        "currency": "USD",
        "city": "Miami"
    }

我使用的是杰克逊库反序列化JSON这对Java对象。我不希望创建一类特殊的checkin_checkout_times对象。我只想把它作为一个纯文本。像这样的"checkin_from": "14:00", "checkin_to": "00:00", "checkout_from": "", "checkout_to": "12:00"

在我的POJO为hotel_datacheckin_checkout_times应该是作为一个字符串,即:

    @JsonProperty("checkin_checkout_times")
    private String checkinCheckoutTimes

这是可能得到的JSON的这一部分为纯文本?

编辑:错误,那是我得到com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of java.lang.String out of START_OBJECT token at [Source: (String)...

潘卡辛格尔:

利用JsonNode

只是让下面setter的字段checkinCheckoutTimes中的POJO的hotel_data,它应该为你工作。

public void setCheckinCheckoutTimes(JsonNode node) {
    this.checkinCheckoutTimes = node.toString();
}

String str = "{ \"id\": 1, \"data\": { \"a\": 1 } }";
try {
    System.out.println(new ObjectMapper().readValue(str,Employee.class));
} catch (IOException e) {
    e.printStackTrace();
}

Employee如下:

class Employee
{
    private int id;
    private String data;

    public Employee() {
    }

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }

    public String getData() {
        return data;
    }

    public void setData(JsonNode node) {
        this.data = node.toString();
    }

    @Override
    public String toString() {
        return "Employee{" +
                "id=" + id +
                ", data='" + data + '\'' +
                '}';
    }
}

给出了下面的输出:

Employee{id=1, data='{"a":1}'}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在纯 JS 中仅操作 JSON 对象的一部分?

如何获得JSON请求但获得请求的一部分?

如何获得颜色表的一部分

Awk:如何获得领域的一部分?

使用变量作为语句的一部分

如何删除文本的一部分

使用lxml标记文本的一部分

Python:如何获取JSON请求但获得请求的一部分?

作为Circe-Json的一部分,如何使用Hcursor或Optics返回匹配对象的列表?

如何通过PHP在JSON添加@符号作为对象名的一部分

如何转义作为对象加载的 json 的一部分

C# 如何组合作为列表一部分的多个 JSON 数组?

当用户使用纯Javascript按下文本时,更改网址链接的一部分

如果文本中有反斜杠作为文本的一部分,如何使用 MozRepl 在文本框中输入文本?

如何使用reCAPTCHA作为弹出窗口而不是网络的一部分?

如何在子查询中使用HAVING作为Select语句的一部分

React TypeScript:如何使用变量名作为键的一部分

如何使用系统环境变量作为@PropertySource值的一部分?

如何证明使用脚本语言作为项目的一部分

如何复制配置文件作为打包的一部分以在部署中使用?

如何使用CoordinatorLayout将视图作为RecyclerView的一部分移动

如何使用tkinter停止作为套接字线程一部分的while循环?

如何使用变量内容作为其他变量名称的一部分?

MySQL-如何使用文件名作为查询的一部分?

Rails-如何使用变量作为方法名称的一部分

如何使用函数参数作为变量的一部分?

如何使用 JS 将 JS var 作为元素属性的一部分

如何仅解析JSON的一部分?

如何使用Selenium WebDriver和Python检索元素的文本的一部分?