Javascript 使用JSON.parse(),如何在多维数组中获取值?

Javascript 使用JSON.parse(),如何在多维数组中获取值?,javascript,arrays,json,Javascript,Arrays,Json,在使用JSON.parse之前,JSON数组如下所示: var temp = { "queries": [ { "sample_size": 3, "results": [ { "name": "temperature", "tags": { "Tag": [ "temperature" ] },

在使用JSON.parse之前,JSON数组如下所示:

var temp = {
      "queries": [
    {
      "sample_size": 3,
      "results": [
        {
          "name": "temperature",
          "tags": {
            "Tag": [
              "temperature"
            ]
           },
           "values": [
            [
              1452221580000,
              27.5
            ],
            [
              1452221640000,
              27.1
            ],
            [
              1452221700000,
              27.3
            ]
           ]
        ]}
     ]}
    }
我需要从数组中获取值,所以我使用JSON.parse()

之后,
value1
是否等于
27.5

我不确定这种方法是否可以将值签名到变量。

它不是JSON字符串,而是格式良好的对象,不需要解析它。存在嵌套数组,因此需要使用索引从数组中获取对象元素

var-temp={
“查询”:[{
“样本量”:3,
“结果”:[{
“名称”:“温度”,
“标签”:{
“标签”:[
“温度”
]
},
“价值观”:[
[
1452221580000,
27.5
],
[
1452221640000,
27.1
],
[
1452221700000,
27.3
]
]
}]
}]
};
//使用括号表示法
var dataNum=temp['querys'][0]['sample_size'];
var timestamp1=temp['querys'][0]['results'][0]['values'][0][0]
var value1=temp['querys'][0]['results'][0]['values'][0][1];
log(dataNum,timestam1,value1);
//使用点表示法
var dataNum1=临时查询[0]。样本大小;
var timestamp11=temp.querys[0]。结果[0]。值[0][0]
var value11=临时查询[0]。结果[0]。值[0][1];

日志(dataNum1,timestamp11,value11)它不是一个JSON字符串,它是一个格式良好的对象,不需要解析它。存在嵌套数组,因此需要使用索引从数组中获取对象元素

var-temp={
“查询”:[{
“样本量”:3,
“结果”:[{
“名称”:“温度”,
“标签”:{
“标签”:[
“温度”
]
},
“价值观”:[
[
1452221580000,
27.5
],
[
1452221640000,
27.1
],
[
1452221700000,
27.3
]
]
}]
}]
};
//使用括号表示法
var dataNum=temp['querys'][0]['sample_size'];
var timestamp1=temp['querys'][0]['results'][0]['values'][0][0]
var value1=temp['querys'][0]['results'][0]['values'][0][1];
log(dataNum,timestam1,value1);
//使用点表示法
var dataNum1=临时查询[0]。样本大小;
var timestamp11=temp.querys[0]。结果[0]。值[0][0]
var value11=临时查询[0]。结果[0]。值[0][1];
日志(dataNum1,timestamp11,value11)
JSON数组如下所示:

var temp = {
      "queries": [
    {
      "sample_size": 3,
      "results": [
        {
          "name": "temperature",
          "tags": {
            "Tag": [
              "temperature"
            ]
           },
           "values": [
            [
              1452221580000,
              27.5
            ],
            [
              1452221640000,
              27.1
            ],
            [
              1452221700000,
              27.3
            ]
           ]
        ]}
     ]}
    }
这不是JSON。这是一个JavaScript对象。你的问题中没有JSON

这将返回
undefined
,因为
temp
不是一个JSON字符串

查询是一个数组,而不是一个对象。它没有
sample\u size
属性

该数组中的第一个值是具有该属性的对象

您需要按顺序访问数据结构的每个级别。你不能跳过关卡

var dataNum = temp.queries[0].sample_size;
JSON数组如下所示:

var temp = {
      "queries": [
    {
      "sample_size": 3,
      "results": [
        {
          "name": "temperature",
          "tags": {
            "Tag": [
              "temperature"
            ]
           },
           "values": [
            [
              1452221580000,
              27.5
            ],
            [
              1452221640000,
              27.1
            ],
            [
              1452221700000,
              27.3
            ]
           ]
        ]}
     ]}
    }
这不是JSON。这是一个JavaScript对象。你的问题中没有JSON

这将返回
undefined
,因为
temp
不是一个JSON字符串

查询是一个数组,而不是一个对象。它没有
sample\u size
属性

该数组中的第一个值是具有该属性的对象

您需要按顺序访问数据结构的每个级别。你不能跳过关卡

var dataNum = temp.queries[0].sample_size;

将代码更改为:

var dataNum=temp['querys']['sample_size'];
var timestamp1=temp['querys']['results']['value'][0][0]

var value1=temp['querys']['results']['value'][0][1]
将代码更改为:

var dataNum=temp['querys']['sample_size'];
var timestamp1=temp['querys']['results']['value'][0][0]

var value1=temp['querys']['results']['value'][0][1]
temp
是一个Javascript对象。需要JSON格式的字符串。
temp.querys.samplesize
temp.querys.results[0]。值[1][0]
此外,
results
是一个数组,因此在您的代码中(访问原始对象时),
['results']
之后缺少一个
[0]
。嗯,这是一个有效的对象吗?查询具有数组的左大括号和对象的右大括号。打字错误?你是对的,乍一看它看起来是有效的,但格式不好。检查时大括号不匹配。
temp
是Javascript对象。需要JSON格式的字符串。
temp.querys.samplesize
temp.querys.results[0]。值[1][0]
此外,
results
是一个数组,因此在您的代码中(访问原始对象时),
['results']
之后缺少一个
[0]
。嗯,这是一个有效的对象吗?查询具有数组的左大括号和对象的右大括号。打字错误?你是对的,乍一看它看起来是有效的,但格式不好。检查时大括号不匹配。如果没有解析,我如何获取值?我尝试使用
temp.querys.results.values
,但没用。你能做一个示例吗?@JK.Lin:在没有解析的情况下检查代码段,我如何获取值?我尝试使用
temp.querys.results.values
,但没用。你能做一个示例吗?@JK.Lin:检查代码段该对象不是一个结构良好的Javascript对象,可以通过和立即访问。该对象不是一个结构良好的Javascript对象,可以通过和立即访问。