我发送一个Json
自定义对象arraylist
表示到服务器。我希望接下来将这个对象解码为一个数组,然后检索这些属性并将它们放在MySQL
中。我想我有一个编码问题。我的php
源代码是用notepad ++编写的,最终编码为utf-8
。我相信Android会使用utf-8对其源代码和SQlite Datavabe进行编码。我用来构建我的自定义对象的数据来自SQLite
。安卓json到php和回
当我在浏览器上自定义arraylist
的对象时,我的json
被成功读取。但是,当我通过我的android发送它时,我得到下面的错误。有人请帮忙?
的Android代码:
ArrayList<Article> list;
list = recallSharedListFromDb();
// Create json
Gson gson = new GsonBuilder().create();
String json_arrayList = gson.toJson(list);
// Build parameters.
List<NameValuePair> param = new ArrayList<NameValuePair>();
param.add(new BasicNameValuePair("jsonObj", json_object));
JSONObject json = jsonParser.makeHttpRequest(url_register_code, "POST", param);
// Read json response coming from server.
Log.d("SyncToMySQL", "json string: "+ json.toString());
PHP代码:
//获取JSON张贴由Android应用程序 $ JSON = $ _POST [ “jsonObj”]; //这项工作... //将JSON解码为数组 $ data = json_decode($ json);
$num_objects = count($data);
if($data){
$response["number of objects"] = $num_objects;
$response["success"] = 1;
echo $json. "<br><br>";;
}else{
$response["number of objects"] = 0;
$response["success"] = 0;
}
echo json_encode($response);
堆栈跟踪:
12-31 09:54:59.966: E/JSON Parser(1826): Error parsing data org.json.JSONException: Value (STRANGE LOOKING SYMBOLS) of type java.lang.String cannot be converted to JSONObjec
恐怕没有工作。我剪切并粘贴了你的帖子。 – derek
您可以请记录此JSON响应:Log.d(“JSON:”,json.toString());并粘贴在这里。 –
12-31 10:47:41.726:D/SyncToMySQL(1826):json字符串:{“对象数量”:0,“成功”:0} – derek