gpt4 book ai didi

javascript - 使用 Javascript 从 HTML 输入字段中提取 JSON 变量

转载 作者:行者123 更新时间:2023-12-03 12:05:07 25 4
gpt4 key购买 nike

我有以下输入 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 提取文字值?

最佳答案

我认为该错误是由于未转义的引号造成的:

value="{"name":
--------^

这里的引用没有被转义。难道不应该是:

value="{\"name\":

这可能就是原因,它被过早地剪切并显示输出为 {。或者处理此问题的最佳方法是使用单引号:

value='{"name":

还值得注意的是,JSON 值应该使用双引号而不是单引号。因此,请确保在 HTML 中给出单引号,在 JSON 值中给出双引号,并转义在 JSON 值中找到的单引号。

可能的PHP 代码是:

value='<?php echo str_replace("'", "\\'", $jsonStuff); ?>'

关于javascript - 使用 Javascript 从 HTML 输入字段中提取 JSON 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25220348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com