从android到阵列php的JSONArray
我正在将一些值从android/java发送到服务器 首先,我创建一个JSONArray对象:从android到阵列php的JSONArray,php,android,json,Php,Android,Json,我正在将一些值从android/java发送到服务器 首先,我创建一个JSONArray对象: JSONArray JSONsamples = new JSONArray(); 然后,我以以下方式填充JSONArray: for(.....) { if(...) { JSONsamples.put(storedArraylist.get(
JSONArray JSONsamples = new JSONArray();
然后,我以以下方式填充JSONArray:
for(.....)
{
if(...)
{
JSONsamples.put(storedArraylist.get(i));
}
}
然后我通过post发送值:
userParameters.add(new BasicNameValuePair("samples", JSONsamples.toString()));
.
.
Http_Client.executeHttpPost(getApplicationContext(), POST_url, userParameters);
.
然后在服务器上,我尝试将这些值存储到php数组中,但不起作用:
$samplesarray = $_POST["samples"];
$samplesarray = json_decode($samplesarray,true);
在解码之前,如果我回显$samplesarray,我只会得到封装在这些“value”中的第一个值,在json_解码之后,当我回显$samplesarray时,我会得到一个预期参数,但发现null错误
请提供帮助。应关闭Magic Quotes,因为它在您的
“
值之前添加了一个\
。
这会破坏您案例中的json数据
请在此处阅读有关不应使用magicquotes的更多信息:
应关闭魔法引号,因为它在您的
“
值之前添加了一个\
。
这会破坏您案例中的json数据
请在此处阅读有关不应使用magicquotes的更多信息:
解决方案是删除魔法引号,或者至少检查它是否打开并从那里开始工作@史蒂文提醒了我,谢谢 因此,在服务器端,我进行了以下检查,以确保json正确且有效:
$samplesarray = get_magic_quotes_gpc() ? stripslashes($_REQUEST['samples']) : $_REQUEST['samples'];
解决方案是删除神奇的引号,或者至少检查它是否打开并从那里开始工作@史蒂文提醒了我,谢谢 因此,在服务器端,我进行了以下检查,以确保json正确且有效:
$samplesarray = get_magic_quotes_gpc() ? stripslashes($_REQUEST['samples']) : $_REQUEST['samples'];
echo$samplesarray查看您到底得到了什么,并让我们知道
\'blood\'
似乎是JSONsamples.toString()
返回的。或者,如果您启用了magic_quotes,则可能是“血液”。JSONsamples.toString()
的预期返回值是多少?ANdroid代码中JSONsamples.toString()的输出是什么\“blood\”
不是有效的JSON,我认为这就是问题所在。忽略由此产生的[]
!之所以发生这种情况,是因为您无法json\u解码类似“blood\”
的字符串JSONsamples.toString()
应该返回如下内容:[“value1”、“value2”、“value3”]
或{“key1”:“value1”、“key2”:“value2”}
并且您需要禁用魔法引号!echo$samplesarray查看您到底得到了什么,并让我们知道\'blood\'
似乎是JSONsamples.toString()
返回的。或者,如果您启用了magic_quotes,则可能是“血液”。JSONsamples.toString()
的预期返回值是多少?ANdroid代码中JSONsamples.toString()的输出是什么\“blood\”
不是有效的JSON,我认为这就是问题所在。忽略由此产生的[]
!之所以发生这种情况,是因为您无法json\u解码类似“blood\”
的字符串JSONsamples.toString()
应该返回如下内容:[“value1”、“value2”、“value3”]
或{“key1”:“value1”、“key2”:“value2”}
并且您需要禁用魔法引号!