Java 和 Python 解析動態 key 的 JSON 數據

1、概述

解析JSON過程當中,什麼狀況均可能遇到。遇到特殊的狀況,不會怎麼辦?確定不是設計的問題,必定是你的姿式不對。java

有這樣一種JSON須要解析:python

{
  "b3444533f6544": {
    "path": "path",
    "at": 1490100417,
    "data": {
      "datastream": [
        {
          "id": "BX_V_XW",
          "value": 400.75
        }
      ],
      "at": 1490100417
    }
  }
}

其中,第二行的 "b3444533f6544" 不定。git

2、解決方案

2.1 Python 方案

dic = json.loads(data)
key = dic.keys()[0]
timestamp = dic[key]['data']['at']
streamArr = dic[key]['data']['datastream']

2.2 Java 方案

參考自 segmentfault.com - 如何解析key爲動態的jsongithub

LinkedHashMap<String, String> jsonMap = JSON.parseObject(jsonStr, new TypeReference<LinkedHashMap<String, String>>(){});
String key = entry.getKey();
String value = entry.getValue();
// 再使用其餘方式對 value 進行解析。

此文在個人 Github Pages 上同步發佈,地址爲:Java 和 Python 解析動態 key 的 JSON 數據json

相關文章
相關標籤/搜索