JSON和意外字符
JSON and unexpected character
考虑到这个结果,我从ajax调用中得到:
[
{
"field1": "2381",
"field2": "1233",
"field3": "43.79489333333333",
"field4": "11.22697833333333"
},
{
"field1": "2381",
"field2": "1774",
"field3": "45.70752833333334",
"field4": "9.489278333333333"
}
]
使用ajax调用时,它会不断返回"意外字符"错误,我使用这样的调用:
jQuery.ajax({
type: "GET",
dataType: "json",
url: "/myUrl.php",
success: function(data) {
console.log(data);
var arrayObjects = JSON.parse(data);
}
});
所以,自从我在互联网上读到这种ajax调用后,它说:
[{"value": "test"}] is valid
所以我想知道为什么我的对象总是返回"意外字符"。
使用jQuery.ajax
时,如果指定dataFormat
,它将尝试根据指定的格式自动解析响应,然后将数据传递给回调函数。
因此,您在回调中收到的不是JSON字符串,它已经是一个JavaScript对象,不需要任何解析。
jQuery.ajax({
type: "GET",
dataType: "json", // <-- this specifies the data format already
url: "/myUrl.php",
success: function(data) {
console.log(data[0]); //logging first record
//var arrayObjects = JSON.parse(data); //not needed
}
});
通过设置dataType: "json"
,您告诉jQuery将接收到的数据解析为JSON,因此数据将作为Javascript数组传递到success()函数。
请参阅:http://api.jquery.com/jQuery.ajax/
从API返回的data
似乎已经是array
。
您正试图解析数组,因此出现错误。
所以更改
var arrayObjects = data;
相关文章:
- 使用提取文本webpack插件时出现意外字符
- AJAX语法错误:JSON.parse:意外字符
- JavaScript意外的令牌<,有什么方法可以逃避错误(或至少跳过那些无用的字符)
- 代码点火器:搜索自动完成 JSON 解析意外字符
- 浏览器抛出错误:解析文件时出现意外字符 ' ' (1:0):图像.png
- JSON.parse:意外字符
- "JSON_PARSING_ERROR:位置0处的意外字符(d);当从GAS发送GCM请求时
- SyntaxError:JSON.parse:登录脚本中出现意外字符
- JSON和意外字符
- Uglify JS错误:意外字符''连接时,请缩小select2
- JSON.parse:Javascript中出现意外的字符错误
- 奇怪的javascript行为-JSON.parse:意外字符
- Vimeo Slider脚本-SyntaxError:JSON.parse:意外字符
- asp.net Jquery.ajax保留JSON.分析意外字符错误
- JSON解析意外的非空白字符
- ExecJS::P rogramError: 意外字符 '#'
- 语法错误:JSON.parse:意外字符
- (仅在IE中)SCRIPT65535:对方法或属性访问的意外调用.主.js,第 152 行字符 28
- 错误:“JSON.parse:JSON 数据第 1 行第 1 列的意外字符”,当包含其他 php 文件时
- JSON 数据后出现意外的非空格字符