我一直得到一个JSON解析器错误,每次我尝试连接从Android到php帐户。下面你会看到我得到的错误:
08-16 10:45:23.002: E/JSON Parser(848): Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject
谁能帮帮我吗。。。
PHP代码:
else{
//Store user
$user = $db->storeUser($name, $email, $password);
if ($user) {
// user stored successfully
$response["success"] = 1;
$response["uid"] = $user["unique_id"];
$response["user"]["name"] = $user["name"];
$response["user"]["email"] = $user["email"];
$response["user"]["created_at"] = $user["created_at"];
$response["user"]["updated_at"] = $user["updated_at"];
echo json_encode($response);
}else{
//User failed to store
$response["error"] = 1;
$response["error_msg"] = "Oops something went wrong! Please try late.";
echo json_encode($response);
}
Android代码: Android代码:
公共JSONObject getJSONFromUrl(字符串url,列表参数){
//making HTTP request
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BufferedReader reader;
try {
reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while((line = reader.readLine()) !=null){
sb.append(line + "n");
}
is.close();
json = sb.toString();
Log.e("JSON", json);
} catch (Exception e) {
// TODO Auto-generated catch block
Log.e("Buffer Error", "Error converting result " + e.toString());
}
//Try parse the string to a json object
try{
jObj = new JSONObject(json);
}catch(JSONException e){
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
//return JSON string
return jObj;
注册用户JSONObject
public JSONObject registerUser(String name, String email, String password){
//building Parameters
List<NameValuePair> params = new ArrayList();
params.add(new BasicNameValuePair("tag", register_tag));
params.add(new BasicNameValuePair("name", name));
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("password", password));
//Getting JSON object
JSONObject json = jsonParser.getJSONFromUrl(registerURL, params);
//return json
return json;
}
PhP警告:
08-16 10:45:22.990: E/JSON(848): <br />n<b>Warning</b>: mysql_num_rows() expects parameter 1 to be resource, boolean given in <b>C:\xampp\htdocs\thryfting_api\include\DB_Functions.php</b> on line <b>89</b><br />n{"tag":"register","success":0,"error":1,"error_msg":"Oops something went wrong! Please try late."}n
php代码:
链接89是$no_of_rows
public function isUserExisted($email) {
$result = mysql_query("SELECT email from users WHERE email = ' $email'");
$no_of_rows = mysql_num_rows($result);
if ($no_of_rows > 0) {
// user existed
return true;
} else {
// user not existed
return false;
}
}
用户表结构:
create table users(
uid int(11) primary key auto_increment,
unique_id varchar(23) not null unique,
name varchar(50) not null,
email varchar(100) not null unique,
encrypted_password varchar(80) not null,
salt varchar(10) not null,
created_at datetime,
updated_at datetime null
);
mysql_error:
08-16 14:09:20.550: E/JSON(1028): <br />n<b>Warning</b>: mysql_num_rows() expects parameter 1 to be resource, boolean given in <b>C:\xampp\htdocs\thryfting_api\include\DB_Functions.php</b> on line <b>89</b><br />nNo database selected{"tag":"register","success":0,"error":1,"error_msg":"No database selected"}n
php中构造前缺少_u;
正如托尔加普在评论中指出的那样,关于“br”的内容看起来像是你的页面发回了一个PHP错误,其HTML格式(因此是br)而不是JSON字符串。你应该先尝试修复这个错误。
问题内容: 尝试对mongoexport使用查询会导致错误。但是mongo-client会评估相同的查询,而不会出错。 在mongo-client中: 使用mongoexport: 产生的错误: 但是预先在mongoexport中进行乘法: 作品! 为什么mongo在这两种情况下对查询的评估不同? 问题答案: 该命令行实用程序支持传递查询 JSON 格式,但您要评估 的JavaScript 在您的
和 是我用来获取JSON并对其进行解析的类。但是当我运行第一个时,它会报告以下堆栈跟踪: 它告诉我添加JsonReader。将lenient(true)设置为我的代码,但我的代码不使用JsonReader。那么如何将setLenient(true)添加到代码中? 编辑:添加API响应(格式化):
我有以下命令。我想循环使用此键和值,即对于冰/冷的项目,打印“值” 我试过这个: 却给我错误
问题内容: 我正在使用JSON解析器提取值,并且正在使用以下jar json- path-2.1.0,当我调用在weblogic服务器上部署为webservice的用例时,出现以下错误:从json字符串中提取值,效果很好,但是用例的服务器版本引起了问题。我不确定耳朵中是否还有其他罐子会对这产生负面影响 问题答案: 偶然发现了同样的问题。 它不起作用的原因不是JDK8。之所以遇到此问题,是因为web
我使用JSON解析器来提取值,并使用以下jar json-path-2.1.0,当我在weblogic服务器上调用作为webservice部署的用例时,我得到了以下错误。我编写了一个小的主程序来从JSON字符串中提取值,它工作得很好,但是用例的服务器版本给出了问题。我不确定是否有任何其他罐子的一部分,我的耳朵可以负面影响这一点
问题内容: 我需要一些帮助,以设计一种策略来解析Talend作业(Java作业,而不是Perl)中的JSON文档。我正在使用Talend版本:5.0.2,并在Mac上进行开发,并计划在Linux机器上运行。 不幸的是,由于文件格式的原因,我无法使用tFileInputJSON组件- 每个文件包含数百个JSON文档,而完整的JSON文档占据了文件中的一行。我认为正确的解决方案是逐行读取文件,然后将其