Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
Jquery 为什么需要JSON解析?_Jquery_Json_Parsing - Fatal编程技术网

Jquery 为什么需要JSON解析?

Jquery 为什么需要JSON解析?,jquery,json,parsing,Jquery,Json,Parsing,如果我从服务器接收到一个JSON数组,并且我想(例如)将其用于自动完成,那么我可以创建一个JavaScript数组,并使用循环将JSON值放入数组中,然后将其用于自动完成 那条路真的错了吗 谢谢 你可以自己做,但为什么?json解析器就是这样做的。你可以自己做,但为什么?json解析器就是这样做的。您从服务器收到的响应将是一个字符串,这对于创建循环来说不是很有用 我假设您希望自己使用split或regex来解析JSON。 这很好,实际上比评估传入数据更安全,而且比任务的大多数标准正则表达式更快

如果我从服务器接收到一个JSON数组,并且我想(例如)将其用于自动完成,那么我可以创建一个JavaScript数组,并使用循环将JSON值放入数组中,然后将其用于自动完成

那条路真的错了吗


谢谢

你可以自己做,但为什么?json解析器就是这样做的。

你可以自己做,但为什么?json解析器就是这样做的。

您从服务器收到的响应将是一个字符串,这对于创建循环来说不是很有用

我假设您希望自己使用split或regex来解析JSON。 这很好,实际上比评估传入数据更安全,而且比任务的大多数标准正则表达式更快

然而,它失去了以JS可以理解的格式接收数据的优势,并且您可能会错过一些理论上可以利用的东西


在Firefox3.1中。一旦这成为标准,使用自己的解析器将没有任何好处。在此之前,这是一个折衷的问题-您需要为什么样的风险和收益投入多少工作。

您从服务器收到的响应将是一个字符串,这对于创建循环不是很有用

我假设您希望自己使用split或regex来解析JSON。 这很好,实际上比评估传入数据更安全,而且比任务的大多数标准正则表达式更快

然而,它失去了以JS可以理解的格式接收数据的优势,并且您可能会错过一些理论上可以利用的东西


在Firefox3.1中。一旦这成为标准,使用自己的解析器将没有任何好处。在那之前,这是一个权衡的问题——你需要为什么样的风险和收益投资多少工作。

JSON最初的部分原理是你可以做:

var object = eval(string);
并让JS解释器直接进行解析(请参阅)

然而,这样做的缺点是,一个邪恶的服务器可能会在该字符串中包含真正的JS代码,然后浏览器会对其进行解释


因此,您应该始终使用
JSON.parse
,它将过滤掉恶意代码,或者如果没有恶意代码,则应包括一个维护良好的兼容性函数来完成相同的工作。

最初,JSON的部分原理是您可以:

var object = eval(string);
并让JS解释器直接进行解析(请参阅)

然而,这样做的缺点是,一个邪恶的服务器可能会在该字符串中包含真正的JS代码,然后浏览器会对其进行解释


因此,您应该始终使用
JSON.parse
,它将过滤掉恶意代码,或者如果没有恶意代码,则应包括一个维护良好的兼容性函数来完成相同的工作。

JSON解析器还可以确保数据是有效的JSON,从而确保恶意代码不会被注入到您的数据中,并在客户端上执行。

JSON解析器还可以确保数据是有效的JSON,从而确保恶意代码不会被注入到数据中,并在客户端上执行。

如果您已从脚本正确格式化JSON。您可以在Javascript中简单地使用JSON解析来获取数组。如果脚本中的JSON格式正确,则不需要任何if。您可以在Javascript中简单地使用JSON解析来获取数组。不需要任何if。
JSON.parse
已经存在于当前所有重要的浏览器中。@Alnitak IE6和IE7仍然大量存在,IE8需要从用户[而不是“兼容模式]和站点的角度处于标准模式。还没有准备好被抛弃IMHO.yes-因此,我在自己的回答中提到,如果要支持较旧的浏览器,请包含一个兼容层
JSON.parse
已经存在于当前所有重要的浏览器中。@Alnitak IE6和IE7仍然大量存在,并且IE8需要从用户[而非“兼容性模式]和站点的角度处于标准模式。还没有准备好被抛弃IMHO.yes-因此,我在自己的回答中提到,如果要支持较旧的浏览器,请包含一个兼容层!