如何访问 Javascript 文件中的 JSON 数据

How to access JSON data in Javascript file

本文关键字:文件 JSON 数据 Javascript 何访问 访问      更新时间:2023-09-26

这似乎很愚蠢,我是这里的小新手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 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);

在我做错的地方帮助我!!谢谢

使用:

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

而后面是

var JSON = JSON.stringify(data);
data

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

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

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

你应该使用 JSON.parse 来转换你的"来自 php 的字符串"示例:

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

另请查看此链接:

在 JavaScript 中解析 JSON?