【问题标题】:How to access JSON data in Javascript file如何访问 Javascript 文件中的 JSON 数据
【发布时间】:2014-03-31 15:17:43
【问题描述】:

这似乎是个愚蠢的问题,我是JSON 的小新手,并试图在我的JS file 中访问下面的JSON data

[
    {
        "1": [
            "video1",
            "ENG"
        ]
    },
    {
        "2": [
            "video2",
            "CHI"
        ]
    }
]

但我无法访问 我试过console.log(data[1])console.log(data[2]),但没用。

我需要像这样创建一个新变量(所以可能我需要for loop,但在我使用for loop之前我需要知道如何访问这个JSON

new_data =  "tracks: [{ 
            file: "video1", 
            label: "ENG"

       },{ 
            file: "video2", 
            label: "CHI"
        }]"

对于我是如何创建JSON 的一点背景知识,我使用下面的代码生成JSON in PHP 来自 array

这是我的PHP array

Array ( [0] => stdClass Object ( [vid] => 1 [video_name] => video1.mp4 [sub_path] => http://abc.example.com/files/eng.vtt [sub_lang] => ENG [status] => 1 ) [1] => stdClass Object ( [vid] => 2 [video_name] => video2.mp4 [sub_path] => http://def.example.com/files/china.vtt [sub_lang] => CHI [status] => 1 ) )

然后我将其转换为JSON 并在我的JS 中创建了一个ajax call 以获取JSON 数据

  foreach ($querystring as $key => $value) {
           $cdn_sub_data [] = array($key+1 => array($value -> sub_path, $value -> sub_lang ));
        }

print json_encode($cdn_sub_data);

帮助我哪里做错了!!!谢谢你

【问题讨论】:

标签: javascript php ajax arrays json


【解决方案1】:

用途:

var data = JSON.parse(ArrayHere);
console.log(data);
data.something = "hello";

后面是

var JSON = JSON.stringify(data);

【讨论】:

    【解决方案2】:

    data 包含在一个包含一个元素的数组中。例如,您可以使用data[0]["1"][0] 来获取"data1"

    您还可以构建您发出的 JSON,以防止将其包装在整个数组中或将其包装在带有元素 tracks 的数组中,而不是使用数字键(这应该强制转换为一个对象)。

    array("tracks"
        => array(
            array(
                "file" => "video1",
                "label" => "ENG",
    

    【讨论】:

      【解决方案3】:

      您应该使用 JSON.parse 来转换您的“来自 php 的字符串”示例:

      var j = JSON.parse('[{"1": ["data1", "ENG"]},{ "2": ["data2","CHI"]}]'); 
          console.log(j);
      

      也请查看此链接:

      Parse JSON in JavaScript?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-24
        • 1970-01-01
        • 2014-06-14
        相关资源
        最近更新 更多