我想修补一个JSON字符串。我得到了要打补丁的字段的“路径”,以及要打补丁的“值”。值可以是任何值、字符串、整数、浮点数、布尔值、数组或对象。
如何将对象转换为JsonValue?
javax.json.JsonPointer类中的“replace”方法需要JsonValue对象。
发布于 2019-12-04 16:29:12
使用This
import com.google.gson.Gson;
Statue statue = new Statue();//java class
String json = new Gson().toJson(statue);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);Json将采用java类结构。
发布于 2019-12-04 18:18:19
您可以使用Jackson,它可以与Maven一起添加到pom中,并指定以下依赖关系:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>通过import com.fasterxml.jackson.databind.ObjectMapper;,您可以使用ObjectMapper (使用Jackosn导入)。因此,如果您有一个类型为MyClass的对象obj,则可以执行以下操作:
MyClass objToCovert = new MyClass();
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(obj);必须将json传递给您的方法,该方法将Json结构更新为patch。作为可以执行更新的方法的示例,我报告了以下内容(tag是关键字):
public static JsonStructure updateKeyValue(JsonStructure jsonStructure, String tag, String value) {
JsonPointer jsonPointer = Json.createPointer("/" + tag);
JsonString jsonStringValue = (JsonString) jsonPointer.getValue(jsonStructure);
jsonStructure = jsonPointer.replace(jsonStructure, jsonStringValue);
return jsonStructure;
}https://stackoverflow.com/questions/59170427
复制相似问题