最近做一个控件jqGrid,这个表格控件从后台获取数据使用的是jquery的.ajax()方法。
我在后台返回一组字符串:
"{"total":100,"rows":[{"cell":['0','电影_0'],"id":"0"},{"cell":['1','电影_1'],"id":"1"},{"cell":['2','电影_2'],"id":"2"},{"cell":['3','电影_3'],"id":"3"},{"cell":['4','电影_4'],"id":"4"},{"cell":['5','电影_5'],"id":"5"},{"cell":['6','电影_6'],"id":"6"},{"cell":['7','电影_7'],"id":"7"},{"cell":['8','电影_8'],"id":"8"},{"cell":['9','电影_9'],"id":"9"}],"records":"10","page":"1"}"
后,死活在前端显示不出来。
后来发现是发生了解析错误。
在jquery的回调方法中执行了parseJSON去解析字符串。
该方法的先把我的JSON字符串替换成了:
"{]:],]{]']','电影_]'],]:]},{]']','电影_]'],]:]},{]']','电影_]'],]:]},{]']','电影_]'],]:]},{]']','电影_]'],]:]},{]']','电影_]'],]:]},{]']','电影_]'],]:]},{]']','电影_]'],]:]},{]']','电影_]'],]:]},{]']','电影_]'],]:]}],]:],]:]}"
最后去json官网才发现规定了json里面的字符串必须要用双引号:
json.org 写道
值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
而我在"cell"的array里面的字符串用了单引号,所以发生了问题。可是在浏览器端直接eval我的那段json是没问题的。看来还是要规范点好。
分享到:
相关推荐
在早期版本的jQuery中,`jQuery.parseJSON()`函数用于将JSON字符串解析为JavaScript对象。然而,随着JSON支持成为JavaScript语言标准的一部分,现代浏览器都内置了`JSON.parse()`方法,这通常被认为更安全且推荐使用...
在实际应用中,例如,当需要从服务器获取JSON数据并将其显示在网页上时,`$.ajax`或`$.getJSON`等jQuery方法可以用来发送Ajax请求。收到JSON响应后,使用`$.parseJSON`将JSON字符串解析成JavaScript对象,然后可以...
"jQuery-JSON美化"就是一种利用jQuery对JSON数据进行格式化和美化显示的技术,旨在提高数据的可读性,尤其是在页面上直接展示复杂JSON数据时。 JSON美化通常涉及以下几个关键知识点: 1. **JSON解析**:在...
2. **`jQuery.parseJSON()`**:与`jQuery.toJSON()`相反,此方法将JSON格式的字符串解析成JavaScript对象,方便在客户端操作。如: ```javascript var jsonString = '{"name": "John", "age": 30}'; var obj = ...
在jQuery中,我们可以使用`$.parseJSON()`方法将JSON字符串转换为JavaScript对象。例如,假设我们从服务器获取到一个JSON字符串: ```json var jsonString = '{"name": "John", "age": 30, "city": "New York"}'; `...
首先,需要明确jQuery.parseJSON函数的作用是把一个JSON格式的字符串解析成JavaScript对象。这个函数接受一个字符串类型的参数jsonString,它必须是一个有效的JSON格式的字符串。所谓的有效JSON格式,意味着这个字符...
此外,jQuery 还支持 `.parseJSON()` 方法,用于解析 JSON 字符串为 JavaScript 对象。但需要注意,这个方法已被废弃,现在推荐使用原生的 JavaScript `JSON.parse()` 方法,如: ```javascript var jsonString = '...
`evalJSON`函数提供了一个安全的方式,它内部实现了JSON.parse(在旧版本的浏览器中可能为`$.parseJSON`),能够确保只有JSON格式的字符串才能被正确解析,防止了潜在的安全问题。例如,当你收到服务器返回的JSON...
1. **jQuery JSON插件源码**:这个插件提供了$.toJSON()和$.parseJSON()两个主要方法。$.toJSON()可以将JavaScript对象转换为JSON字符串,而$.parseJSON()则可以将JSON格式的字符串解析为JavaScript对象。 2. **...
使用`jquery.jsoncookie.js`插件,你可以方便地将JSON对象序列化成字符串并存入Cookie,或者从Cookie中读取JSON数据并反序列化回对象。以下是一些基本用法: 1. 存储JSON数据到Cookie: ```javascript $.cookie('...
解析JSON($.parseJSON())是指将JSON格式的字符串转换为JavaScript对象,这对于从服务器获取数据并进行操作至关重要。例如,当你从一个RESTful API接收JSON响应时,可以使用这个函数将返回的字符串转化为可以直接...
2. **解析与渲染**:jQuery的`$.parseJSON()`(现在已弃用,推荐使用`$.getJSON()`或`$.ajax()`的dataType设置为'json')方法用于解析JSON字符串为JavaScript对象,然后可以在前端动态更新DOM。 **Ajax级联操作** ...
JQuery AJAX 和 JSON 是在 Web 开发中处理异步数据传输和数据格式化的重要工具。本文将深入探讨这两个概念以及它们在实际应用中的使用方法。 首先,JQuery 的 AJAX(Asynchronous JavaScript and XML)功能允许...
例如,`JSON.parse()`方法(在现代浏览器中可用)是一个安全的替代品,但不适用于旧版浏览器。如果需要支持旧浏览器,可以引入第三方库,确保安全地解析JSON数据。 总结来说,解析JSON数据在jQuery中通常是安全和...
3. **jQuery的$.parseJSON()**:如果你有一个JSON格式的字符串,可以使用`$.parseJSON()`将其转换为JavaScript对象。然而,这个方法在jQuery 3.0之后已被弃用,推荐使用原生的`JSON.parse()`方法。 4. **JSONP**:...
3. **序列化与反序列化**: jQuery的`$.param()`方法可以将JavaScript对象序列化为URL查询字符串格式,而`$.parseJSON()`(在jQuery 1.4.1及以后的版本中)或`JSON.parse()`(原生JavaScript方法)可以将JSON字符串反...
从 JSON 格式规范的角度,现代浏览器已经内置了原生的 `JSON.parse()` 方法,它同样可以用来解析 JSON 字符串。在 jQuery 1.4.1 之后的版本,如果浏览器支持,`jQuery.parseJSON()` 会优先使用 `JSON.parse()`。这...
值得注意的是,从jQuery 1.4.1版本开始,`$.parseJSON()`已经被jQuery自身集成,因此在较新版本的jQuery中,你可以直接使用`$.parseJSON()`而无需引入额外的jQuery JSON插件。然而,`$.toJSON()`在jQuery的核心库中...