Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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-解析html注释中的键值json_Javascript_Jquery_Html_Regex - Fatal编程技术网

javascript-解析html注释中的键值json

javascript-解析html注释中的键值json,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,我有一个带有单行javascript注释的html页面,如下所示: // {"key1":"value1"}, {"key2":"value2"}, {"key3":"value3"} <b> Sample Text </b> /{“key1”:“value1”}、{“key2”:“value2”}、{“key3”:“value3”} 示例文本 我想检索注释中的所有键值对,并将它们放在javascript映射中。如何使用js/jquery解析它?我在正则表达式方面很

我有一个带有单行javascript注释的html页面,如下所示:

// {"key1":"value1"}, {"key2":"value2"}, {"key3":"value3"} 
<b> Sample Text </b>
/{“key1”:“value1”}、{“key2”:“value2”}、{“key3”:“value3”}
示例文本
我想检索注释中的所有键值对,并将它们放在javascript映射中。如何使用js/jquery解析它?我在正则表达式方面很糟糕,所以任何帮助都将不胜感激。如果有帮助,注释将始终只是html中的第一行

编辑:

如果这能让工作更容易,我也可以和你一起工作-

/* {"key1":"value1"}, {"key2":"value2"}, {"key3":"value3"} */ 
<b> Sample Text </b>
/*{“key1”:“value1”},{“key2”:“value2”},{“key3”:“value3”}*/
示例文本

您可以使用jQuery函数parseJSON

比如:


然后,您可以将该值写入html,您可以使用jQuery函数parseJSON

比如:

然后可以将该值写入html

{“(\w+?)”:“(\w+?)”}

这将抓住你的关键和价值。键在组1中,值在组2中

对于Javascript,raynjamin指出需要使用
/g
修饰符来匹配键值对的所有实例

.

{(\w+?):“(\w+?)”}

这将抓住你的关键和价值。键在组1中,值在组2中

对于Javascript,raynjamin指出需要使用
/g
修饰符来匹配键值对的所有实例


<!-- HTML -->
<head>
<script type="text/javascript">
var x = { "key1": "value1", "key2": "value2", "key3": "value3" } ;
</script>
</head>
<!-- REST OF HTML -->

var x={“key1”:“value1”,“key2”:“value2”,“key3”:“value3”};

您应该可以像访问任何其他javascript对象一样使用数据访问x。

不要将javascript写入HTML的顶部,而是将其写入脚本元素中,如下所示:

<!-- HTML -->
<head>
<script type="text/javascript">
var x = { "key1": "value1", "key2": "value2", "key3": "value3" } ;
</script>
</head>
<!-- REST OF HTML -->

var x={“key1”:“value1”,“key2”:“value2”,“key3”:“value3”};

您应该可以像访问任何其他javascript对象一样使用数据访问x。

为什么在标记中有javascript注释?这个数据在页面加载后不能被检索,或者至少不能被放入一个脚本标记中吗?不能。它的html数据是从服务器检索的。如果你有权访问正在生成的html,我会说至少将它改为写入一个脚本标记,而绝对不能写入标记的顶部。对我来说,这似乎是一种非常奇怪的做法。这只是一种暂时的恶作剧。如果我把它放在一个脚本标记中,我将如何处理它呢?如果你把脚本标记放在头部,你可以只写var x=[{“key1”:“value1”},{“key2”:“value2”},{“key3”:“value3”},然后你就可以用x[0],x[1],x[2]访问你的键值对。但是,您可能需要类似于{“key1”:“value1”,“key2”:“value2”,“key3”:“value3”}的数组,而不是数组。为什么在标记中有javascript注释?这个数据在页面加载后不能被检索,或者至少不能被放入一个脚本标记中吗?不能。它的html数据是从服务器检索的。如果你有权访问正在生成的html,我会说至少将它改为写入一个脚本标记,而绝对不能写入标记的顶部。对我来说,这似乎是一种非常奇怪的做法。这只是一种暂时的恶作剧。如果我把它放在一个脚本标记中,我将如何处理它呢?如果你把脚本标记放在头部,你可以只写var x=[{“key1”:“value1”},{“key2”:“value2”},{“key3”:“value3”},然后你就可以用x[0],x[1],x[2]访问你的键值对。但是,您可能需要更像{“key1”:“value1”,“key2”:“value2”,“key3”:“value3”}的数组,而不是数组。不要忘记使用/g来匹配所有实例。那么我们如何从字符串开始呢?不要忘记使用/g来匹配所有实例。那么我们如何从字符串开始呢?