解码具有未知结构的JSON

时间:2010-11-20 23:12:17

标签: php javascript json

我希望获得JSON对象的结构,而不需要预先知道它可能包含的内容。详细说明,我可以给予

[{"x":0,"y":0.4991088274400681,"z":7.489443555361306}, {"x":0,"y":0.7991088274400681,"z":7.489343555361306},{"x":0,"y":0.5991088274400681,"z":7.482445555361306}]

甚至是疯狂的事情:

'AL': {name:'Alabama', landarea:131426, waterarea:4338, population:[3525342,4243844]},
'AK': {name:'Alaska', landarea:1418400, waterarea:234324, population:[43230943,43230943]}

换句话说,我不知道我会得到什么样的JSON,但我想知道第一个带有相关值的x,y和z,或AL,AK和名字,landarea,waterarea,以及第二个人口中的一系列人口。

这有点像在Excel中获取列标题。 我知道会有重复的结构。

是解析这个问题的唯一方法是使用JSON_decode然后进行typeOf检查以查看我的内容是Object / Array / String吗?它似乎相当笨重。

1 个答案:

答案 0 :(得分:3)

浏览器的本机JSON解码功能可以处理任何格式良好的JSON。你想要的是一个能够理解解码的JSON的函数。这是不可能的,至少在您对数据没有任何先验知识或处理方式时是这样。但是,如果你想知道的是每个组件的数据类型,那么typeof将正常工作。