parseJSON在一种情况下有效,而在另一种情况中无效
parseJSON working in one case and not in other
我通过将数组传递到PHP的json_enocode()
中,使用ajay从服务器获取一些JSON数据,它返回了一个有效的JSON(在许多在线JSON调试器上检查过)。但是JS的$.parseJSON()
不接受它。Parser对一组数据抛出错误(如下),而对另一组数据则正常工作。
CONSOLE>SyntaxError:JSON.parse:JSON数据的第1行第1列出现意外字符
我试着一个接一个地删除数组中的所有元素,但它甚至对单个元素都不起作用。以下是数据集:
这是有效的:
[{"id":"54a3b103877c0","act_name":"ABC","profile_image":"['"551d'"]"}]
虽然这不是:
[{"id":"2","user_id":"53b595a","review_for_id":"54f25","review_for_type":"city",
"r_title":"asfasas asd as","r_body":"a sdasda sdas dasdas das d","r_rating":"3",
"other_info":"","added":"2015-03-28 15:47:20","modified":"2015-03-28 15:47:20",
"f_name":"ABC","l_name":"XYZ","lives_in":"ABC"}]
PHP代码:
阵列:
Array
(
[0] => Array
(
[id] => 2
[user_id] => 53b595a
[review_for_id] => 54f25
[review_for_type] => city
[r_title] => asfasas asd as
[r_body] => a sdasda sdas dasdas das d
[r_rating] => 3
[other_info] =>
[added] => 2015-03-28 15:47:20
[modified] => 2015-03-28 15:47:20
[f_name] => ABC
[l_name] => XYZ
[lives_in] => ABC
)
)
PHP-上面的数组是$d
json_encode($d, JSON_HEX_TAG | JSON_HEX_QUOT)
以下是Ajax的Jquery:
$.get(url, '', function(d){
var data = {};
if(d != ''){
data = $.parseJSON(d);
}
var acc = {};
acc[sc_id] = data;
console.log(acc);
});
请帮忙!
<script>
var str = '[{"id":"2","user_id":"53b595a","review_for_id":"54f25","review_for_type":"city","r_title":"asfasas asd as","r_body":"a sdasda sdas dasdas das d","r_rating":"3","other_info":"","added":"2015-03-28 15:47:20","modified":"2015-03-28 15:47:20","f_name":"ABC","l_name":"XYZ","lives_in":"ABC"}]';
var obj = $.parseJSON(str);
alert(obj.id);
</script>
有时从PHP可以使用JSON_encode函数或带有JSON格式和application/JSON头的纯文本将JSON数据发送到AJAX调用。因此,最好检查AJAX响应是否已经是一个对象。
var data = {};
if (typeof response !== 'object') {
data = $.parseJSON(response);
} else {
data = response;
}
这将防止类型错误。
相关文章:
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- jQuery:使用substr()的另一种方法
- 另一种显示和隐藏按钮的方式
- 单击()的另一种方式
- 解析一个复杂的JavaScript表达式,将其改写为另一种格式
- parseJSON在一种情况下有效,而在另一种情况中无效
- 如何访问对象's成员通过另一种方法填充的方法
- 是否可以在网页上用另一种字体设置jqmath-display的样式
- 用于自动将一种类型的URL更改为另一种类型
- 将日期字符串转换为另一种语言
- Rails 以一种方式格式化 DateTime.now 和 DateTime.yesterday 另一种方式 - 我如何
- 通过javascript将带有日期的字符串格式化为另一种格式
- 输入文本是't在一种情况下以相同的形式更新与另一种情况相同的角度模型
- 将JSON从一种格式转换为另一种格式
- 另一种方式是Javascript中的函数堆叠
- require.js是require的另一种方式
- 如何获得一种颜色的rgb值'It’它接近另一种颜色
- 一种getter语法有效,但另一种无效;t
- 用jquery预处理html的一种方法有效,但为什么另一种方法无效't
- 控制器之间共享服务的脏检查,一种方法有效,另一种方法无效