我有一个JSON字符串:
{
"fruit": {
"weight":"29.01",
"texture":null
},
"status":"ok"
}
...我试图映射回POJO:
public class Widget {
private double weight; // same as the weight item above
private String texture; // same as the texture item above
// Getters and setters for both properties
}
上面的字符串(我正在尝试映射)实际上包含在一个组织中。json。JSONObject,可以通过调用该对象的toString()
方法来获取。
我想使用Jackson JSON对象/JSON映射框架来进行此映射,到目前为止,这是我最好的尝试:
try {
// Contains the above string
JSONObject jsonObj = getJSONObject();
ObjectMapper mapper = new ObjectMapper();
Widget w = mapper.readValue(jsonObj.toString(), Widget.class);
System.out.println("w.weight = " + w.getWeight());
} catch(Throwable throwable) {
System.out.println(throwable.getMessage());
}
Unrecognized field "fruit" (class org.me.myapp.Widget), not marked as ignorable (2 known properties: , "weight", "texture"])
at [Source: java.io.StringReader@26c623af; line: 1, column: 14] (through reference chain: org.me.myapp.Widget["fruit"])
我需要地图绘制者:
{
”和“}
”)如果唯一的方法是调用JSONObject
的toString()
方法,那么就这样吧。但我想知道Jackson是否提供了任何“开箱即用”的Java JSON库?
不管怎样,编写Jackson映射器是我的主要问题。谁能看出我哪里做错了?提前谢谢。
您需要有一个类PojoClass
,它包含(has-a)Widget
名为fruit
的实例。
在您的映射器中尝试以下操作:
String str = "{\"fruit\": {\"weight\":\"29.01\", \"texture\":null}, \"status\":\"ok\"}";
JSONObject jsonObj = JSONObject.fromObject(str);
try
{
// Contains the above string
ObjectMapper mapper = new ObjectMapper();
PojoClass p = mapper.readValue(jsonObj.toString(), new TypeReference<PojoClass>()
{
});
System.out.println("w.weight = " + p.getFruit().getWeight());
}
catch (Throwable throwable)
{
System.out.println(throwable.getMessage());
}
这是您的Widget类。
public class Widget
{ private double weight;
private String texture;
//getter and setters.
}
这是您的PojoClass
public class PojoClass
{
private Widget fruit;
private String status;
//getter and setters.
}
问题内容: 我有以下JSON表示盐请求的服务器响应: 我尝试使用以下POJO映射它: 现在每次我这样做: 该为空。如何使用Gson将JSON映射到POJO?我的变量顺序对Gson映射重要吗? 问题答案: 我的变量顺序对Gson映射重要吗? 不,不是这样。 如何使用Gson将JSON映射到POJO? 它是 区分大小写 和JSON字符串键应该是相同的POJO类使用的变量名。 您可以使用@Seriali
我有以下JSON来表示salt请求的服务器响应: 我尝试用以下POJO映射它: 每次我这样做: 为空。如何使用GSON将JSON映射到POJO?变量的顺序对Gson映射重要吗?
问题内容: 我正在尝试将HTML映射到结构完整的JSON中。那里有没有这样做的库,还是我需要编写自己的库?我想如果没有html2json库,我可以以xml2json库作为开始。毕竟,html只是xml的一种变体,对吗? 更新: 好的,我应该举一个例子。我想做的是以下内容。解析html字符串: 变成这样的json对象: 注意 :如果您没有注意到标签,我正在寻找Javascript解决方案 问题答案:
注:内容翻译自官网文档 Language Guide (proto3) 中的 JSON Mapping 一节 Proto3支持JSON格式的标准编码, 让在系统之间分享数据变得容易. 编码在下面的表格中以type-by-type的基本原则进行描述. 如果一个值在json编码的数据中丢失或者它的值是null, 在被解析成protocol buffer时它将设置为对应的默认值.如果一个字段的值正好是p
问题内容: 我的实体是这样的: 现在,我想将此newPerson对象映射到这样的JSON对象中, 注意:以上仅是示例。 我需要的是,我需要在序列化时自定义Key。默认情况下,它以属性名称为键。我无法更改属性名称。这该怎么做? 另外,是否可以更改JSON obj中出现的键/值对的顺序? 问题答案: 您需要将属性添加到您的类和属性。套装的属性到您的自定义属性名称和属性属性定义的顺序。 然后,您可以执行
我编写了货币转换器程序,从,映射对象并创建选定速率的简单数据集。我的程序运行得很好,直到我停止使用解析和映射对象,并用替换它。它可以很好地读取基础货币和日期,但不能读取<代码>汇率 子对象。为什么? 我的代码:类别: 类: 必须使用映射对象的类: 我试图解析和映射的示例JSON数据 我正在使用这个对象来准备对象,该对象具有一个简单的