如何解析Json数组
如何在java中解析这个JSON?我使用了和,并最终选择了Jackson。它更适合需要JSON解析的特定java项目,现在看起来更灵活和/或更熟悉 在丢弃前导的如何解析Json数组,json,Json,如何在java中解析这个JSON?我使用了和,并最终选择了Jackson。它更适合需要JSON解析的特定java项目,现在看起来更灵活和/或更熟悉 在丢弃前导的$(无效的JSON)后,使用Jackson: 输出: // input is your JSON object ObjectMapper mapper = new ObjectMapper(); // could also use Jackson ObjectNodes: JsonNode rootNode = mapper.readV
$
(无效的JSON)后,使用Jackson:
输出:
// input is your JSON object
ObjectMapper mapper = new ObjectMapper();
// could also use Jackson ObjectNodes:
JsonNode rootNode = mapper.readValue(input.getBytes(), JsonNode.class);
JsonNode sub1 = rootNode.get("1");
JsonNode sub2 = rootNode.get("2");
if (sub1 != null)
{
System.out.println("1.vertical_name: " + sub1.get("vertical_name"));
System.out.println("1.meta_title: " + sub1.get("meta_title"));
}
if (sub2 != null)
{
System.out.println("2.vertical_name: " + sub2.get("vertical_name"));
System.out.println("2.meta_title: " + sub2.get("meta_title"));
}
您的输入JSON是独特的,因为它似乎使用JSON对象作为JSON数组,外部对象具有字段1、2、…
。因此,上述方法将JSON解析为通用对象,尽管您也可以使用Jackson将其解析为javaMaps
——请参阅
导航结果数据结构需要了解输入,即使用JsonNode.get(“1”)代码>,但无论如何表示JSON,都需要做出相同的假设
您还可以使用来迭代未知数量的此类“索引”。如果您不知道1
、2
等的编号,这将非常有用
此外,您可以创建一个与每个子对象匹配的java类,并使用Jackson为每个子对象创建该类的实例。请参阅。dupe:不仅是一个明显的dupe,而且很容易用谷歌搜索。请访问并查看100多个链接,这些链接几乎可以在您选择的任何语言中解析JSON。这不是有效的JSON,因为在开始时有一个$
。谢谢兄弟。事实上,我对这个JSON是新手。现在我想在两个Bean类中解析这些JSON值,如MEN&WOMEN>我该怎么做。请给出一些提示。如果我得到JSON数据,请给出一些提示从URl中,我很难知道JsonNode id。可能不止2个。当时如何获取值。请参见答案中关于迭代器的部分:这将为您提供JSON对象的顶级属性列表,因此您不需要通过“1”、“2”、“3”执行单个get
调用
// input is your JSON object
ObjectMapper mapper = new ObjectMapper();
// could also use Jackson ObjectNodes:
JsonNode rootNode = mapper.readValue(input.getBytes(), JsonNode.class);
JsonNode sub1 = rootNode.get("1");
JsonNode sub2 = rootNode.get("2");
if (sub1 != null)
{
System.out.println("1.vertical_name: " + sub1.get("vertical_name"));
System.out.println("1.meta_title: " + sub1.get("meta_title"));
}
if (sub2 != null)
{
System.out.println("2.vertical_name: " + sub2.get("vertical_name"));
System.out.println("2.meta_title: " + sub2.get("meta_title"));
}
1.vertical_name: "Men"
1.meta_title: "Online Shopping For Men - Buy Mens Clothes, Footwear & Accessories At Fetise "
2.vertical_name: "Women"
2.meta_title: "Online Shopping for Women - Buy Womens Clothes, Footwear & Accessories At Fetise"