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

将JSON映射到包含map的自定义对象

李华茂
2023-03-14

我有一个像这样的json,它嵌套在其中一个字段中-

{
    "templateid": "email_verified_template",
    "templatevalues": {
        "patient_name": "nprj09”,
        "date": “Monday, 3rd May, 10:37:23 PM”,
    },
    "emailAddress": “nprj09@test.com”,
}

我创建了一个自定义类,

public class EmailTemplate implements Serializable {

    private String templateid;
    private Map<String,String> templatevalues;
    private String emailAddress;

    ---
}

在我的服务类中,我正在读取json并将其映射到我的EmailTemplate类中,但是映射失败了。这里有什么可以用的?

ObjectMapper mapper = new ObjectMapper();
try {
   notificationVo = mapper.readValue(msg, EmailNotificationVO.class);
  

例外情况:

An Exception has occurred..com.fasterxml.jackson.databind.JsonMappingException: Illegal unquoted character ((CTRL-CHAR, code 13)): has to be escaped using backslash to be included in string value
 at [Source: (String)"{
    "templateid": "email_verified_template",
    "templatevalues": {
        "patient_name": "nprj09”,
        "date": “Monday, 3rd May, 10:37:23 PM”

我试着添加

mapper.configure(
                    JsonReadFeature.ALLOW_UNESCAPED_CONTROL_CHARS.mappedFeature(),
                    true
            );

但这也不起作用。

共有1个答案

李和昶
2023-03-14

要映射的代码很好。只需正确输入JSON即可。

 类似资料:
  • 我使用http://jsonlint.com来验证JSON是否有效。因此,我要么需要更改JSON或代码,要么可能两者都需要。有什么想法吗?

  • 假设我有一个Employee类如下所示: 在Java中转换Json的最聪明的方法是什么? 或;

  • 使用代替和代替 然后在请求属性中添加 但是当我在javascript中检索它时,我得到了jsonObject的值 我在我的项目中已经使用了下面的库,如果需要,可以使用任何新的库

  • 例如,我有以下接口映射器: 在代码中,您可以看到映射和一些默认方法,其中包含其他映射。如何在Mapstruct映射中使用这些方法,以便Mapstruct使用这些方法在字段中填充值?

  • 本文向大家介绍apache-spark 使用Gson将JSON映射到自定义类,包括了apache-spark 使用Gson将JSON映射到自定义类的使用技巧和注意事项,需要的朋友参考一下 示例 使用Gson,您可以读取JSON数据集并将其映射到自定义类MyClass。 由于Gson不可序列化,因此每个执行程序都需要自己的Gson对象。而且,MyClass必须可序列化才能在执行程序之间传递。 请注意

  • 问题内容: 我正在开发一个处理以下两个实体的应用程序: 产品 (将其命名为X,Y,Z)和 材料 (a,b,c,…)。众所周知,每种产品都有一个配方,指示制造该产品所需的材料。例如,要产生一个X,我们需要2 a,6 c和4 d(X = 2a + 6c + 4d)。 这就是它在数据库表中的反映方式: 第三张表中的“计数”字段是同类材料(本例中为2、6、4)的系数。 所以我想以这种方式编写Product