首先,对不起,如果这是一个新手答案,因为我只是一个新手编码。
我只是对我在互联网上找到的这个json.parse方法感到好奇。
所以代码是这样的:
var data = JSON.parse(<?= data; ?>);
我想知道的是JSON.parse中的参数---&gt; (<?= data; ?>)
这意味着什么?
因为据我所知,JSON.parse的语法是JSON.parse(text[, reviver])
谢谢!
答案 0 :(得分:0)
这是服务器端处理语言(known as Plates),其中data
是从服务器传递到HTML文件的变量。它不是原生JavaScript;相反,它是客户端中变量的服务器端呈现。
<?= data; ?>
在调用变量的任何时间点呈现data
变量的全部内容。在您的情况下,它是一个在客户端JavaScript中解析的JSON变量。 <?= data; ?>
以字符串化JSON的形式返回data
的内容(例如JSON.stringify(data)
),然后在输出中使用JSON.parse()
使其成为您的可用变量客户端JavaScript。
答案 1 :(得分:0)
编辑:快速Google搜索显示这是一种名为Plates的PHP模板语言。 this
这看起来像一个模板标记,它会评估变量的值并在呈现模板时将其导出。我无法确定,但一般来说,模板使用分隔符来表示不同的东西,看起来这就是这里发生的事情。
我认为这个具体的例子正在输出一个名为<?=
的变量,因为它使用了这个开头分隔符:<uses-permission android:name="android.permission.INTERNET"/>
,因为它有等号,通常表示输出。这是在页面在浏览器中呈现之前完成的,更重要的是,在运行此特定脚本之前;因此,我所期望的是,在呈现模板时,数据将解析为某些JSON字符串,然后在运行脚本时,该字符串将被解析为JavaScript对象。
答案 2 :(得分:0)
<?= data; ?>
应该是一个php变量,整个过程将被客户端呈现时从服务器发送的有效JSON所取代。