Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何读取JSON对象中的数组这是在另一个数组中_Javascript_Json_Parsing - Fatal编程技术网

Javascript 如何读取JSON对象中的数组这是在另一个数组中

Javascript 如何读取JSON对象中的数组这是在另一个数组中,javascript,json,parsing,Javascript,Json,Parsing,我是JSON的新手,我正在解析一个JSON对象,我突然想到我必须读取一个对象中的数组元素,也就是另一个数组中的数组元素。。 这是我的JSON { "DefinitionSource": "test", "RelatedTopics": [ { "Result": "", "Icon": { "URL": "https://duckduckgo.com/i/a5e4a93a.jpg" }, "Fi

我是JSON的新手,我正在解析一个JSON对象,我突然想到我必须读取一个对象中的数组元素,也就是另一个数组中的数组元素。。 这是我的JSON

   {
"DefinitionSource": "test",
"RelatedTopics": [
    {
        "Result": "",
        "Icon": {
            "URL": "https://duckduckgo.com/i/a5e4a93a.jpg"
        },
        "FirstURL": "xyz",
        "Text": "sample."
    },
    {
        "Result": "",
        "Icon": {
            "URL": "xyz"
        },
        "FirstURL": "xyz",
        "Text": "sample."
    },
    {
        "Topics": [
            {
                "Result": "",
                "Icon": {
                    "URL": "https://duckduckgo.com/i/10d02dbf.jpg"
                },
                "FirstURL": "https://duckduckgo.com/Snake_Indians",
                "Text": "sample"
            },
            {
                "Result": "sample",
                "Icon": {
                    "URL": "https://duckduckgo.com/i/1b0e4eb5.jpg"
                },
                "FirstURL": "www.google.com",
                "Text": "xyz."
            }
        ]
    }
]
}
这里我需要从RelatedTopics数组和Topics数组中读取URL、FIRSTURL和文本。。
有人能帮我吗。提前谢谢

循环通过json数组,如

for(var i=0; i< RelatedTopics.length;i++){

     if($.isArray(RelatedTopics[i])){
       for(var j=0; j< RelatedTopics[i].Topics.length;j++){
        var topics=RelatedTopics[i].Topics[j];
        var text = topics.Text;
        var firsturl = topics.Firsturl;
        var url = topics.Icon.url;
       }

     }
}
for(var i=0;i
如果你想给它一个数组变量,像这样

function (json) {
    json.RelatedTopics.forEach(function (element) {
        var url = element.Icon ? element.Icon.URL : 'no defined';
        var firstURL = element.FirstURL ? element.FirstURL : 'no defined';
        var text = element.Text ? element.Text : 'no defined';
        alert("URL: " + url + "\nFirstURL: " + firstURL + "\nText: " + text);

        if (element.Topics)
        {
            element.Topics.forEach(function (topicElement) { 
                alert("Topics - \n" + "URL: " + topicElement.Icon.URL + "\nFirstURL: " + topicElement.FirstURL + "\nText: " + topicElement.Text);
            }); 
        }
    });
};


我能够读取RelateTopics[]数组中的值,但我不知道如何读取Topics[]数组中的值首先在此处测试json,然后在此处发布。我想在迭代RelatedTopics[]的同时迭代Topics[]。