【问题标题】:Parse JSON with hashtag使用标签解析 JSON
【发布时间】:2016-04-28 05:57:44
【问题描述】:

在 Javascript 中,我无法解析其中包含“#”的 JSON。我想获得一个图像 URL。

我的尝试是:tracks.track[0].image[0].#track

# 把我搞砸了....

{
tracks: {
track: [
{
name: "Stressed Out",
duration: "0",
playcount: "1516304",
listeners: "186543",
mbid: "",
url: "http://www.last.fm/music/Twenty+One+Pilots/_/Stressed+Out",
streamable: {
#text: "0",
fulltrack: "0"
},
artist: {
name: "Twenty One Pilots",
mbid: "a6c6897a-7415-4f8d-b5a5-3a5e05f3be67",
url: "http://www.last.fm/music/Twenty+One+Pilots"
},
image: [
{
#text: "http://img2-ak.lst.fm/i/u/34s/5c3d2c588ae38b7ff192f6b4cec71170.png",
size: "small"
},
{
#text: "http://img2-ak.lst.fm/i/u/64s/5c3d2c588ae38b7ff192f6b4cec71170.png",
size: "medium"
},

【问题讨论】:

  • 那不是 JSON。 JSON 需要引用键。
  • Correcto...它只是一个很好的 'ol JS 对象

标签: javascript angularjs json


【解决方案1】:

试试

tracks.track[0].image[0]['#text']

Check it in JSFiddle

请注意,我使用正则表达式添加引号来解析字符串

PS:你写了tracks.track[0].image[0].#track,但我假设#text,因为我在JSON 中没有看到任何#track...如果你真的是指#track,那么请根据需要进行更改*

【讨论】: