2014-09-27 54 views
-3

我知道,这件事在这里被问及十亿次。但我无法读取该内JSON对象:json列表 - javascript - 如何解析

{"issuccess": "yes", "downloads": 
"[{\"pk\": 39, \"model\": \"home.accessinfo\", \"fields\": {\"title\": \"weblink test bezugsquelle\", \"accesstype\": \"Kostenpflichtiger Download\", \"weblink\": \"google.de\", \"content\": \"weblink test bezugsquelle\", \"person\": 20, \"date\": \"2014-09-22T13:56:38.647Z\"}}, 
{\"pk\": 43, \"model\": \"home.accessinfo\", \"fields\": {\"title\": \"wefwef\", \"accesstype\": \"Kostenfreier Download\", \"weblink\": \"google.de\", \"content\": \"\", \"person\": 20, \"date\": \"2014-09-26T17:27:29.336Z\"}}]" 
} 

我不能进去[]的东西。我试过data.downloads[0].fields我得到undefined。我想要能够循环使用[]

+1

你不能从那里读取任何对象,它不是有效的JSON。 – Quentin 2014-09-27 10:11:26

+0

你试过数据['downloads'] [0] ['fields']? – iCezz 2014-09-27 10:12:04

+0

修复JSON中的所有错误。像http://jsonlint.com/可能会有所帮助。 – Quentin 2014-09-27 10:12:23

回答

3

我没有看到问题。修好打字错误后,一切正常,对我来说很好

var data = { 
    'issuccess':'yes', 
    'downloads': [ 
    { 
     "pk": 39, 
     "model": "home.accessinfo", 
     "fields": { 
     "title": "weblink test bezugsquelle", 
     "accesstype": "Kostenpflichtiger Download", 
     "weblink": "google.de", 
     "content": "weblink test bezugsquelle", 
     "person": 20, 
     "date": "2014-09-22T13:56:38.647Z" 
     } 
    } 
    ] 
}; 

console.log(data.downloads[0].fields); 
+1

@ user2864740 - 此答案是指问题原始版本中的代码。 http://stackoverflow.com/revisions/26073537/1 – Quentin 2014-09-27 10:23:04

+0

Arg,这些完全不同的编辑再次:< – user2864740 2014-09-27 10:23:26

+0

是的,在原始问题是''''和'}'在“json”数据的末尾有问题 – 2014-09-27 10:25:25

3

你没有“内部JSON对象”。 downloads属性是字符串(其中包含另一个JSON文本)。

您必须得到downloads的值,通过JSON解析器运行它,然后处理结果。