我有课
public class ClassSerializable {
private Long id;
private String json;
}
其中fieldjson={"field dJson":{"一": 1,"二": 1}}
如果使用ObjectMapper反序列化此对象
String jsonString = mapper.writeValueAsString(objectСlassSerializable);
结果是这样的:
{
"id": 7,
"json":"{\"fieldJson\": {\"one\": 1, \"two\": 1}}"
}
添加了转义(\),并且json字段有引号(")。如何正确摆脱这一点并制作单个JSON?像这样:
{
"id": 7,
"json": {
"fieldJson": {
"one": 1,
"two": 1
}
}
}
您的程序现在的设置方式是,它将json
字段序列化为字符串,并且它不知道它应该序列化为JSON。因此,您需要将json
字段序列化为实际的JSON对象,将其存储在ClassSerializable
中,然后将其序列化。
当然,您可能需要包含一些其他代码以使其正确序列化,但一般想法是您确实需要指定它是一个对象,而不仅仅是另一个字符串。
行为是正确的,但与你的意图不同。
您有一个具有两个字段的对象:
但您的目的是在json字段中存储一个对象。您还需要将其存储为java中的对象。如果知道json字段将只存储json对象,则可以将其定义为映射
所以在java中存储它的最好方法是
public class ClassSerializable {
private Long id;
// It can store any valid json object structure as java object
// Change it to private Object json if it can store also primitives and arrays
private Map<String, Object> json;
}
我当前的项目使用Kotlin序列化来使用一系列远程RESTFul API。 API响应是Json,我无法修改它们。 其中一个API将“Person”作为字符串或字符串数组返回。 我如何让Kotlin序列化自动消耗任何一个值? 我使用这个版本的静态编程语言序列化
问题内容: 我有以下类,它是由Jackson映射的(简化版): 在某些情况下,服务器会返回,然后我想将name设置为空的Java String。 是否有任何Jackson注释,或者如果属性为,我应该只检查getter中的null并返回空字符串? 问题答案: 您可以在默认构造函数中或声明时进行设置: 要么
我有以下由Jackson映射的类(简化版): 在某些情况下,服务器返回,然后我想将name设置为空Java字符串。 是否有任何Jackson注释,或者如果属性为,我应该只检查getter中的null并返回空字符串吗?
字符串序列化是将对象状态写入字节流的过程。 在python中,“pickle”库用于启用序列化。 该模块包含一个强大的算法,用于序列化和反序列化Python对象结构。 “Pickling”是将Python对象层次结构转换为字节流的过程,“unpickling”是相反的过程。 泡菜模块的演示如下 - import pickle #Here's an example dict grades = { '
Form 类中的每个字段不仅负责验证数据,还负责 “清洗” 它 — 将其规范化为一致的格式。 — Django 文档 序列化字段处理基本数据类型和其他数据类型(比如自定义的类)之间的转换。它们还可以对数据进行验证,以及从其父对象中检索和设置值。 注意: 序列化字段都声明在 fields.py 中,但按照惯例,应该使用 from rest_framework import serializers ,
问题内容: 我正在使用JsonConvert.SerializeObject序列化模型对象。服务器希望所有字段都为字符串。我的模型对象具有数字属性和字符串属性。我无法将属性添加到模型对象。有没有一种方法可以将所有属性值序列化为字符串?我必须仅支持序列化,而不支持反序列化。 问题答案: 您甚至可以为数字类型提供自己的数字。我只是想这和它的作品- 它的快速和肮脏的,你几乎肯定希望把它扩大到支持其他数字