解析特定的 JSON 结构 [重复]

Posted

技术标签:

【中文标题】解析特定的 JSON 结构 [重复]【英文标题】:Parse Specific JSON Structure [duplicate] 【发布时间】:2017-04-06 03:02:36 【问题描述】:

我想知道如何在java中解析这个特定的JSON结构:

[
   
      "name":"property2",
      "value":"ANOTHER VALUE"
   ,
   
      "name":"property1",
      "value":"ANOTHER VALUE"
   
]

我的意思是:我知道如何在 Java 中解析该文件,但我想知道是否有任何 java 注释可以用来将其转换为以下结构:

public class CustomClass    
    private List<Map<String, String>> propertyListMap;

我问这个是因为我想避免生成太多代码...

【问题讨论】:

我不认为这篇文章是重复的......因为没有人向我提供注释,表明核心框架以某种方式解析 json 文件......而且,我想避免的是Fouad Wahabi 在 hist last comment 中提供的解决方案,因为已经有一个方法可以读取...只是想知道如何指示框架类... 贾罗德。这是我不想做的......因为已经有了功能,我不想在那里放置特定和自定义的类......所以这就是为什么我要问是否有 java 注释...... 【参考方案1】:

你可以使用Jackson,这里是一个如何将json文件解析成List&lt;Map&lt;String, Object&gt;&gt;的例子:

   try 

        ObjectMapper mapper = new ObjectMapper();

        // read JSON from a file
        List<Map<String, Object>> lmap = mapper.readValue(
                new File("user.json"),
                new TypeReference<List<Map<String, Object>>>() 
        );
         catch (JsonGenerationException e) 
            e.printStackTrace();
         catch (JsonMappingException e) 
            e.printStackTrace();
         catch (IOException e) 
            e.printStackTrace();
        

【讨论】:

【参考方案2】:

您需要List&lt;Map&lt;String, String&gt;&gt;?的任何具体原因

如果没有,我会按照这篇帖子的说明联系List&lt;MappingClass&gt;:How to use Jackson to deserialise an array of objects

【讨论】:

这是因为我被分配了一个自动化测试并且必须发出一个返回这种类型结构的获取请求......我想比较预期映射的键和值与返回的映射api 调用... 那么你可能应该选择@Fouad Wahabi 的回答 是的...但是会发生什么,我想知道是否有一个java注释可以用来指示如何反序列化...已经有一个读取JSON结构的功能...所以我不想添加比我的 Java 类更多的代码...

以上是关于解析特定的 JSON 结构 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

统一解析json文件[重复]

解析 JSON 对象的最有效方法 [重复]

尝试在 Python 中解析 JSON。 ValueError:期望属性名称[重复]

在 Swift 中解码 JSON API - 重复的结构名称

Angular 2将JSON对象解析为角度类[重复]

特定的 Java HTML 解析器 [重复]