当我解码我的Json时,我得到null。 $ contactInfo是通过Volley推送的Java(Android)字符串。我检查了字符串,它是一个字符串。
我试过以下
1)仅与一个用户的联系人建立$ contactInfo
2)删除了空格
3)删除♡
等特殊字符4)删除+
我能找到的最接近解决方案[[数据,数据],[数据,数据]]的解决方案是使用json解码。有没有其他方法让我把它读成数组或json?
$contactInfo = "[[john qiu, +16266169643], [Vince, +65 5888 8447]]"
$obj = stripslashes($contactInfo);
$obj = json_decode($obj);
echo json_last_error();
echo正在返回JSON_ERROR_SYNTAX
contactInfo,对于某些用户,有一些特殊字符,如“♡”
答案 0 :(得分:1)
正确的JSON格式是
$contactInfo = '[["john qiu", 16266169643], ["Vince", 6558888447]]"
您可以验证您的输出,看看它是否适用于某个网站,例如this,例如
答案 1 :(得分:0)
这段代码怎么样
$contactInfo = "[[john qiu, +1626643]]";
$obj = json_decode($contactInfo, true);
var_dump($obj);
答案 2 :(得分:0)
$contactInfo = "[[john qiu, +16266169643], [Vince, +65 5888 8447]]"
在PHP中,$ contactInfo本身就是一个数组。为避免任何错误,请确保非数字值在引号中。例如:
$contactInfo = "[['john qiu', '+16266169643'], ['Vince', '+65 5888 8447']]"
答案 3 :(得分:0)
整个字符串应该用单引号括起来,允许你用双引号封装json字符串段
<?php
$contactInfo = '[["john qiu", "+16266169643"], ["Vince", "+65 5888 8447"]]';
json_decode($contactInfo, true);
echo json_last_error();
?>
<b>output 0</b>
如果您的数据没有像这样格式化,您可能需要做一些聪明的preg_replace