在Ajax中使用jQuery解析返回的json对象


=Start=

缘由:

前端新手学习、整理一些简单的JavaScript知识,方便以后参考。

正文:

参考解答:
1.JSON.stringify()
console.log(JSON.stringify(response));  # 使用 JSON.stringify 将json对象解析成字符串
console.log(JSON.stringify(response, null, 2)); # pretty-print
如何将JSON.stringify()的输出优雅的打印在一个div中?

将解析后的内容放在 <pre> 标签内即可。参考:http://stackoverflow.com/questions/16862627/json-stringify-output-to-div-in-pretty-print-way

2.JSON.parse()
var data = JSON.parse(response);    # 使用 JSON.parse 将对象解析成JavaScript对象
console.log(data);
3.jQuery.parseJSON()
jQuery.parseJSON()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象。

所谓"格式完好",就是要求指定的字符串必须符合严格的JSON格式,例如:属性名称必须加双引号、字符串值也必须用双引号。

如果传入一个格式不"完好"的JSON字符串将抛出一个JS异常,例如:以下字符串均符合JSON格式,但它们不是格式完好的JSON字符串(因此会抛出异常):
// 以下均是字符串值,省略了两侧的引号,以便于展现内容

{id: 1} // id是属性名称,必须加双引号
{'id': 1} // id是属性名称,必须用双引号(不能用单引号)
{"name": 'CodePlayer'} // name属性的值是字符串,必须用双引号(不能用单引号)
参考链接:

=END=


《 “在Ajax中使用jQuery解析返回的json对象” 》 有 3 条评论

  1. ajax请求的 CORS 限制
    https://stackoverflow.com/questions/20035101/why-does-my-javascript-get-a-no-access-control-allow-origin-header-is-present
    `
    以下方法任选其一:
    ①禁用 Chrome 的Web安全限制;
    ②使用 jsonp (但是需要对接口的返回内容格式做修改);
    ③使用 第三方站点对请求做重新路由 以规避同源策略的限制;
    ④目标站点关闭CORS安全限制;
    `

    Using CORS
    https://www.html5rocks.com/en/tutorials/cors/

    重定向 CORS 跨域请求
    https://harttle.land/2016/12/30/cors-redirect.html

  2. Htcap – 一款通过拦截 ajax 调用和 DOM 修改的方式进行 Web 应用扫描的工具
    https://github.com/fcavallarin/htcap
    `
    Htcap是一种web应用程序扫描程序,能够通过截获ajax调用和DOM更改以递归方式爬行单个页面应用程序(SPA)。Htcap不仅仅是另一个漏洞扫描器,因为它关注的是爬行过程,它的目标是检测和拦截ajax/fetch调用、websockets、jsonp等。它使用自己的fuzzers和一组外部工具来发现漏洞,它被设计成一个工具,用于手动和自动地对现代web应用程序进行渗透测试。
    `

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注