Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从android到阵列php的JSONArray_Php_Android_Json - Fatal编程技术网

从android到阵列php的JSONArray

从android到阵列php的JSONArray,php,android,json,Php,Android,Json,我正在将一些值从android/java发送到服务器 首先,我创建一个JSONArray对象: JSONArray JSONsamples = new JSONArray(); 然后,我以以下方式填充JSONArray: for(.....) { if(...) { JSONsamples.put(storedArraylist.get(

我正在将一些值从android/java发送到服务器

首先,我创建一个JSONArray对象:

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”}
并且您需要禁用魔法引号!