Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
在HTTP Post Android上传递参数_Android_Json_Http - Fatal编程技术网

在HTTP Post Android上传递参数

在HTTP Post Android上传递参数,android,json,http,Android,Json,Http,在第一次进行web集成时,我在将用户注册到系统中时遇到了问题。在我的本地主机中有一个执行此功能的api。但问题在于产出的回报。传递数据时,参数的类型是否也很重要?比如,如果有一个字段询问用户的号码,在HTTP POST中,我是否必须以整数形式发送数据??但是我注意到,BasicNameValuePair不允许这样做 基本程序如下所示: public JSONObject registerURL(String fname,String lname,String mail,String passwo

在第一次进行web集成时,我在将用户注册到系统中时遇到了问题。在我的本地主机中有一个执行此功能的
api
。但问题在于产出的回报。传递数据时,参数的类型是否也很重要?比如,如果有一个字段询问用户的号码,在HTTP POST中,我是否必须以整数形式发送数据??但是我注意到,
BasicNameValuePair
不允许这样做

基本程序如下所示:

public JSONObject registerURL(String fname,String lname,String mail,String password,String number,String sex,int role,String dob,String horoscope,String tob,String pob){
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("first_name", fname));
        params.add(new BasicNameValuePair("last_name", lname));
        params.add(new BasicNameValuePair("email",mail));
        params.add(new BasicNameValuePair("phone",number));
        params.add(new BasicNameValuePair("password",password));
        params.add(new BasicNameValuePair("sex",sex));
        params.add(new BasicNameValuePair("role", String.valueOf(role)));
        params.add(new BasicNameValuePair("date_of_birth",dob));
        params.add(new BasicNameValuePair("horoscope_id",horoscope));
        params.add(new BasicNameValuePair("time_of_birth",tob));
        params.add(new BasicNameValuePair("place_of_birth",pob));
        try {
            json = jsonParser.getJSONFromUrl(registerURL, params, POST);
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
        return json;
    }

啊哈,您需要首先创建JSONArray而不是JSONObject。因为,您使用了json数组

JSONArray jsonArray = new JSONArray(jsonString);

JSONObject jsonObject = jsonArray.getJSONObject(index);

我想,URL总是一个字符串,所以整数也是一个字符串,这部分你做得对,肯定还有其他问题,你能告诉我响应是什么吗?另外,请尝试将url放入浏览器,并检查您是否收到JSON格式的响应。@Sunny您能帮我吗?@user2247689:请将您的url放入浏览器并检查返回的内容。。第665行的声明是什么?因为它给出了异常JSONException:Value类型为java.lang.String的ArrayObject无法转换为JSONObject您正在尝试将String转换为JSONObject吗?如果是这样,请检查您在这里正在做什么,以及您想做什么。您可以将您的url放在浏览器地址栏中,看看您是否得到了正确的响应?也可以尝试此链接
04-22 12:20:44.745: I/JSON HERE(666): ArrayObject Object
04-22 12:20:44.745: I/JSON HERE(666): (
04-22 12:20:44.745: I/JSON HERE(666):     [storage:ArrayObject:private] => Array
04-22 12:20:44.745: I/JSON HERE(666):         (
04-22 12:20:44.745: I/JSON HERE(666):             [exception] => Exception Object
04-22 12:20:44.745: I/JSON HERE(666):                 (
04-22 12:20:44.745: I/JSON HERE(666):                     [message:protected] => Unrecognized method 'setIduser()'
04-22 12:20:44.745: I/JSON HERE(666):                     [string:Exception:private] => 
04-22 12:20:44.745: I/JSON HERE(666):                     [code:protected] => 0
04-22 12:20:44.745: I/JSON HERE(666):                     [file:protected] => C:\xampp\htdocs\blamethestars2\application\modules\api\models\ModelAbstract.php
04-22 12:20:44.745: I/JSON HERE(666):                     [line:protected] => 200
04-22 12:20:44.745: I/JSON HERE(666):                     [trace:Exception:private] => Array
04-22 12:20:44.745: I/JSON HERE(666):                         (
04-22 12:20:44.745: I/JSON HERE(666):                             [0] => Array
04-22 12:20:44.745: I/JSON HERE(666):                                 (
04-22 12:20:44.745: I/JSON HERE(666):                                     [file] => C:\xampp\htdocs\blamethestars2\application\modules\api\controllers\UserController.php
04-22 12:20:44.745: I/JSON HERE(666):                                     [line] => 102
04-22 12:20:44.745: I/JSON HERE(666):                                     [function] => __call
04-22 12:20:44.745: I/JSON HERE(666):                                     [class] => Api_Model_ModelAbstract
04-22 12:20:44.745: I/JSON HERE(666):                                     [type] => ->
04-22 12:20:44.745: I/JSON HERE(666):                                     [args] => Array
04-22 12:20:44.745: I/JSON HERE(666):                                         (
04-22 12:20:44.745: I/JSON HERE(666):                                             [0] => setIduser
04-22 12:20:44.745: I/JSON HERE(666):                                             [1] => Array
04-22 12:20:44.745: I/JSON HERE(666):                                                 (
04-22 12:20:44.745: I/JSON HERE(666):                                                     [0] => 1
04-22 12:20:44.745: I/JSON HERE(666):                                                 )
04-22 12:20:44.745: I/JSON HERE(666):                                         )
04-22 12:20:44.745: I/JSON HERE(666):                                 )
04-22 12:20:44.745: I/JSON HERE(666):                             [1] => Array
04-22 12:20:44.745: I/JSON HERE(666):                                 (
04-22 12:20:44.745: I/JSON HERE(666):                                     [file] => C:\xampp\htdocs\blamethestars2\application\modules\api\controllers\UserController.php
04-22 12:20:44.745: I/JSON HERE(666):                                     [line] => 102
04-22 12:20:44.745: I/JSON HERE(666):                                     [function] => setIduser
04-22 12:20:44.745: I/JSON HERE(666):                                     [class] => Api_Model_ProfileUser
04-22 12:20:44.745: I/JSON HERE(666):                                     [type] => ->
04-22 12:20:44.745: I/JSON HERE(666):                                     [args] => Array
04-22 12:20:44.745: I/JSON HERE(666):                                         (
04-22 12:20:44.745: I/JSON HERE(666):                                             [0] => 1
04-22 12:20:44.745: I/JSON HERE(666):                                         )
04-22 12:20:44.745: I/JSON HERE(666):                                 )
04-22 12:20:44.745: I/JSON HERE(666):                             [2] => Array
04-22 12:20:44.745: I/JSON HERE(666):                                 (
04-22 12:20:44.745: I/JSON HERE(666):                                     [file] => C:\xampp\htdocs\blamethestars2\library\Zend\Controller\Action.php
04-22 12:20:44.745: I/JSON HERE(666):                                     [line] => 516
04-22 12:20:44.745: I/JSON HERE(666):                                     [function] => registerAction
04-22 12:20:44.745: I/JSON HERE(666):                                     [class] => Api_UserController
04-22 12:20:44.745: I/JSON HERE(666):                                     [type] => ->
04-22 12:20:44.745: I/JSON HERE(666):                                     [args] => Array
04-22 12:20:44.745: I/JSON HERE(666):                                         (
04-22 12:20:44.745: I/JSON HERE(666):                                         )
04-22 12:20:44.745: I/JSON HERE(666):                                 )
04-22 12:20:44.745: I/JSON HERE(666):                             [3] => Array
04-22 12:20:44.745: I/JSON HERE(666):                                 (
04-22 12:20:44.745: I/JSON HERE(666):                                     [file] => C:\xampp\htdocs\blamethestars2\library\Zend\Controller\Dispatcher\Standard.php
04-22 12:20:44.745: I/JSON HERE(666):                                     [line] => 308
04-22 12:20:44.745: I/JSON HERE(666):                                     [function] => dispatch
04-22 12:20:44.745: I/JSON HERE(666):                                     [class] => Zend_Controller_Action
04-22 12:20:44.745: I/JSON HERE(666):                                     [type] => ->
04-22 12:20:44.745: I/JSON HERE(666):                                     [args] => Array
04-22 12:20:44.745: I/JSON HERE(666):                                         (
04-22 12:20:44.745: I/JSON HERE(666):                                             [0] => registerAction
04-22 12:20:44.745: I/JSON HERE(666):                                         )
04-22 12:20:44.745: I/JSON HERE(666):                                 )
04-22 12:20:44.745: I/JSON HERE(666):                             [4] => Array
04-22 12:20:44.745: I/JSON HERE(666):                                 (
04-22 12:20:44.745: I/JSON HERE(666):                                     [file] => C:\xampp\htdocs\blamethestars2\library\Zend\Controller\Front.php
04-22 12:20:44.745: I/JSON HERE(666):                                     [line] => 954
04-22 12:20:44.745: I/JSON HERE(666):                                     [function] => dispatch
04-22 12:20:44.745: I/JSON HERE(666):                                     [class] => Zend_Controller_Dispatcher_Standard
04-22 12:20:44.745: I/JSON HERE(666):                                     [type] => ->
04-22 12:20:44.745: I/JSON HERE(666):                                     [args] => Array
04-22 12:20:44.745: I/JSON HERE(666):                                         (
04-22 12:20:44.745: I/JSON HERE(666):                                             [0] => Zend_Controller_Request_Http Object
04-22 12:20:44.745: I/JSON HERE(666):                                                 (
04-22 12:20:44.745: I/JSON HERE(666):                                                     [_
04-22 12:20:44.745: E/JSON Parser(666): Error parsing data org.json.JSONException: Value ArrayObject of type java.lang.String cannot be converted to JSONObject
JSONArray jsonArray = new JSONArray(jsonString);

JSONObject jsonObject = jsonArray.getJSONObject(index);