【发布时间】:2020-03-24 08:38:21
【问题描述】:
我有以下输入 HTML 元素,我已将 json 编码的 php 变量作为值传递。在源代码中它呈现如下:
<input type="hidden" id="js-helper-artist-likes" name="js-helper-artist-likes" value="{"name":[{"id":215,"fbid":"19538277626","stage_name":"311","city":"","state":"","image_path":"http:\/\/graph.facebook.com\/19538277626\/picture?width=720&height=720",
"description":"311 was formed in 1990 in Omaha, Nebraska."},{"id":18,"fbid":"14591271531","stage_name":"Beck","city":"","state":"","image_path":"https:\/\/graph.facebook.com\/14591271531\/picture?width=720&height=720",
"description":""},{"id":47,"fbid":"137029526330648","stage_name":"Disclosure","city":"","state":"","image_path":"https:\/\/graph.facebook.com\/137029526330648\/picture?width=720&height=720","description":""},
{"id":11,"fbid":"152513780224","stage_name":"Arcade Fire","city":"","state":"","image_path":"https:\/\/graph.facebook.com\/152513780224\/picture?width=720&height=720","description":""}]}">
我想用javascript获取值,json_decode,然后在JS中作为数组使用。像这样:
var artist_likes = $('#js-helper-artist-likes').val();
console.log(artist_likes);
var artist_likes_decoded = $.parseJSON(artist_likes);
console.log(artist_likes_decoded);
但是,当我打印artist_likes 时,它只会显示为:
"{"
在控制台中。
我知道这是因为 JSON 包含破坏解析的引号,但是有没有办法用 JavaScript 提取文字值?
【问题讨论】:
-
你必须通过对它应用斜杠来放置 JSON 数组的值,然后你就被排序了。
-
你需要使用 JSON.parse(artist_likes)
-
我不是已经用 $.parseJSON(artist_likes) 做到了
-
stackoverflow.com/questions/4287462/… 点击此链接了解更多信息
-
我认为如果你使用单引号来包装所有数据,而不是双引号,你应该没问题。
标签: javascript php jquery json