java - 如何解析具有两种类型值的 JSON,一种是整数,另一种是 JSON 对象?

标签 java json spring-boot facebook-graph-api resttemplate

当阅读 facebook graph api Insights 响应时,它可以有两种类型的响应

   "data":{
      "name": "page_posts_impressions",
        "values": [
        {
          "value": 10,//integer value
          "end_time": "2019-07-29T07:00:00+0000"
        }
      ]
     }

这里的内部值,值具有整数值,但在另一种情况下

 "data":{
      "name": "page_posts_impressions",
        "values": [
        {
          "value": { "post":10,
                      "tab":1
                    }//json object value

          "end_time": "2019-07-29T07:00:00+0000"
        }
      ]
     }

这里的值有json对象值,我如何解析这些json对象之王?

最佳答案

我相信您会将此 JSON 解析为 java POJO。由于 valuesObjectsArray,我建议将其解析为 JsonNode,即

List<JsonNode> values;

这种方法的优点是 JsonNode 有几个方法来查找它是 Integer 还是 JsonObject

isInt()

public boolean isInt()

isObject

public final boolean isObject()

关于java - 如何解析具有两种类型值的 JSON,一种是整数,另一种是 JSON 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57320667/

相关文章:

java - 插入到 Hashmaps 的 Hashmap 中,Java

java - 如何在Spring Eureka服务器中检查应用程序状态

java - Spring Autowiring 提供 NPE。不手动创建bean

java - 如何避免异常(try catch block )作为流程控制

java - LibGDX - 循环调整射速的最佳方式

java - com.marlonjones.nimbus.WeatherWatchFaceService.WeatherWatchFaceEngine 中没有可用的默认构造函数

sql - Postgresql JSON 有 key

java - 如何使用 Spring Data 将任意数据的子文档持久化到 MongoDB?

ios - 为什么我的 JSON 响应对象没有加载到字典中?

SQL 语句中的 Spring Boot Hibernate 语法错误