我试图将下面的Json数组转换为特定的Java对象。
[
{
"Dummy": {
"attr": "PRIMITIVE",
"value": {
"Initial": "M",
"Name": "Potato"
}
}
},
{
"Dummy": {
"attr": "PRIMITIVE",
"value": {
"Initial": "A",
"Name": "Potatoo1"
}
}
}
]
编辑:更新了正确的JSON结构
下面是我目前使用的对象映射器:
ObjectMapper mapper = new ObjectMapper();
Dummy[] myObjects = mapper.readValue(resultStr, Dummy[].class);
public class Dummy{
public String attr;
public value val;
}
public class value {
public String Initial;
public String Name;
}
然而,我在尝试反序列化com时出错。fasterxml。杰克逊。数据绑定。exc.MismatchedInputException:无法反序列化com类型的值。实例演示。虚拟
来自数组值
您的输入没有有效的JSON数据,请使用JSON格式化程序/验证程序进行检查(例如https://jsonformatter.curiousconcept.com)
我假设,您的数据的“正确”JSON如下所示:
[
{
"Dummy": {
"attr": "PRIMITIVE",
"value": {
"Initial": "M",
"Name": "Potato"
}
}
},
{
"Dummy": {
"attr": "PRIMITIVE",
"value": {
"Initial": "A",
"Name": "Potatoo1"
}
}
}
]
这个JSON可以像这样映射:
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class OMTest {
public void deserialize() throws JsonMappingException, JsonProcessingException {
String json = "[{\"Dummy\": {\"attr\": \"PRIMITIVE\",\"value\": {\"Initial\": \"M\",\"Name\": \"Potato\"}}},{\"Dummy\": {\"attr\": \"PRIMITIVE\",\"value\": {\"Initial\": \"A\", \"Name\": \"Potatoo1\"}}}]";
ObjectMapper mapper = new ObjectMapper();
YourClass[] myObjects = mapper.readValue(json, YourClass[].class);
// do something...
System.out.println(myObjects.length);
}
private static class YourClass {
@JsonProperty("Dummy")
public Dummy dummy;
}
private static class Dummy {
public String attr;
public Value value;
}
private static class Value {
@JsonProperty("Initial")
public String initial;
@JsonProperty("Name")
public String name;
}
}
问题内容: 我需要将JSON对象字符串转换为JavaScript数组。 这是我的JSON对象: 我想拥有: 我该如何实现? 问题答案: var json_data = {“2013-01-21”:1,”2013-01-22”:7}; var result = [];
问题内容: 我有一个API请求,返回以下内容: 我想在单击按钮后使用以下代码显示获取的电影标题: 我的问题是,我收到一条错误消息,提示我只能遍历数组,并且我的数据是对象。如何在打字稿中将Object转换为Array,并在表格中显示电影的标题? 问题答案: 没错,您的回复是一个带有字段的对象: 因此,您实际上只想迭代该字段: …甚至更简单:
我有一个像下面这样的JSON,我想通过解析它来生成相应类的Java对象。问题是我不希望该对象中maxtime的值设置为{{Instant.MAX.toString ()}}, 但它应该是它的翻译值,这意味着它应该是100000000-12-31T23:59:59.9999999Z。有没有任何标准库来实现这个类似的要求,或者我必须为此编写一个定制的代码? 在最坏的情况下,我已经准备好用其他类型的文件
问题内容: 我从服务器得到一个 json数组: 我想使用gson将上面的json数据转换为Java 对象。我尝试了以下方法: 首先,我创建了一个 Person.java 类: 然后,在服务类中,我执行了以下操作: 我收到异常 java.lang.ClassCastException:java.util.LinkedHashMap无法强制转换为Person 。如何摆脱我的问题?我只想将json数组转
问题内容: 我的脚本向我返回了一个数组(JSON数组),如下所示: 我需要打印“ 键 / 对” 值,就像从“ 地图”中进行 打印一样,如下所示: 我收到的JSON格式是否可能与常规JSON格式不同? 我当前的代码基于 Selenium ,它使用 Java脚本 读取性能统计信息,如下所示: _JavaDoc中_的提到了以下情况: 如果脚本具有返回值(即,如果脚本包含return语句),则将执行以下步
问题内容: 如果我在C#中有一个二维数组-如何将其转换为包含二维数组的JSON字符串? 例如。 在JSON对象中给出一个平面的一维数组。Microsoft文档指出: “多维数组被序列化为一维数组,应该将其用作平面数组。” 问题答案: 您可以使用锯齿状数组而不是二维数组,其定义如下: 然后,JavascriptSerializer会将其序列化为[[#,#,#,#],[#,#,#,#]等形式]