在HTTP Post Android上传递参数
在第一次进行web集成时,我在将用户注册到系统中时遇到了问题。在我的本地主机中有一个执行此功能的在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
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);