json数据解析错误android studio
给出错误在EXCEPTION .... json数据解析错误在catch在postexecute metod请帮助如何解决。当数据输入它,它开始工作smothly但时间到发送数据也显示,JSON数据解析错误json数据解析错误android studio
/**
* Created by Mian on 2/28/2016.
*/
import android.content.Context;
import android.os.AsyncTask;
import android.widget.Toast;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class SignupActivity extends AsyncTask<String, Void, String> {
private Context context;
public SignupActivity(Context context) {
this.context = context;
}
protected void onPreExecute() {
}
@Override
protected String doInBackground(String... arg0) {
String fullName = arg0[0];
String userName = arg0[1];
String passWord = arg0[2];
String phoneNumber = arg0[3];
String emailAddress = arg0[4];
String link;
String data;
BufferedReader bufferedReader;
String result;
try {
data = "?fullname=" + URLEncoder.encode(fullName, "UTF-8");
data += "&username=" + URLEncoder.encode(userName, "UTF-8");
data += "&password=" + URLEncoder.encode(passWord, "UTF-8");
data += "&phonenumber=" + URLEncoder.encode(phoneNumber, "UTF-8");
data += "&emailaddress=" + URLEncoder.encode(emailAddress, "UTF-8");
link = "http://livethuglife.com/signup.php" + data;
URL url = new URL(link);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream()));
result = bufferedReader.readLine();
return result;
} catch (Exception e) {
return new String("Exception: " + e.getMessage());
}
}
@Override
protected void onPostExecute(String result) {
String jsonStr = result.toString();
if (jsonStr != null) {
try {
JSONObject jsonObj = new JSONObject(jsonStr);
String query_result = jsonObj.getString("query_result");
if (query_result.equals("SUCCESS")) {
Toast.makeText(context, "Data inserted successfully. Signup successfull.", Toast.LENGTH_SHORT).show();
} else if (query_result.equals("FAILURE")) {
Toast.makeText(context, "Data could not be inserted. Signup failed.", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(context, "Couldn't connect to remote database.", Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(context, "Error parsing JSON data.", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(context, "Couldn't get any JSON data.", Toast.LENGTH_SHORT).show();
}
}
}
更好地使用Class
,按您的Form
,你已经被发布到Server
。
- 一个简单的Java类,带有需要将完整的表单数据载入服务器的字段数。像我已经定义为
SignUp
类。 - 然后使该
Class SignUp
的object
填补了object
相应值要张贴到服务器。 -
现在改变的是
object
到JSON
使用谷歌gson.jar
(你可以下载它通过搜索它在互联网上)一个简单的例子,我已经向你..
简单POJO
Class
注册
Class SignUP{
private String fullname;
private String username;
private String passoword; // Define Number of Variable as per your Need
private String phonenumber;
private String emailaddress;
//Getter and Setters Method.
}
现在实例化类,并尝试谷歌GSON
的jar包到解析它作为JSON Object
。
一个简单的逻辑
Object
的Class
注册转换为JSON
。
protected String doInBackground(String... arg0) {
String fullName = arg0[0];
String userName = arg0[1];
String passWord = arg0[2];
String phoneNumber = arg0[3];
String emailAddress = arg0[4];
SignUP obj = new SignUP();
obj.setFullName(URLEncoder.encode(fullName, "UTF-8"));
obj.setUserName(URLEncoder.encode(userName, "UTF-8"));
obj.setPassword(URLEncoder.encode(passWord, "UTF-8"););
obj.setPhoneNumber(URLEncoder.encode(phoneNumber,"UTF-8"););
obj.setEmailAddress(URLEncoder.encode(emailAddress, "UTF-8"););
Gson gson = new Gson();
System.out.println(gson.toJson(obj));
}
输出:
{
"fullName":"FullName",
"username":"Lokesh",
"password":"Gupta",
"phonenumber":"73479273423",
"emailaddress":"abc @abc.com"
}
你也可以尝试How to Convert Java Object to JSON Using Google GSON API
请你详细说明 –
是否适合理解我的想法。如果你有一点java的知识.. 谢谢 –
传递一些东西给你做的类对象,那么我会通过什么..? –
什么是错误您收到? –
json数据解析错误 –
那是你的错误,logcat中有什么错误? –