我在Android Code上的新功能,我需要这个用于连接到互联网并从ASPX读取JSON文本(Visual .NET for Websites)和反序列化,但加载unic布局时我的应用程序崩溃。
网站的JSON没有阵列,我需要帮助!
这是在ActivityMain.Java上的:
TextView wid = (TextView) findViewById(R.id.wid);
TextView name = (TextView) findViewById(R.id.name);
TextView url = (TextView) findViewById(R.id.url);
String str = "";
JSONObject json = null;
HttpResponse response;
HttpClient myClient = new DefaultHttpClient();
HttpPost URL = new HttpPost("http://validafacturas.com/BuzonFacturas/Account/Loginmb.aspx");
try {
response = myClient.execute(URL);
str = EntityUtils.toString(response.getEntity(), "UTF-8");
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try{
JSONArray jArray = new JSONArray(str);
json = jArray.getJSONObject(0);
wid.setText(json.getString("success"));
name.setText(json.getString("message"));
url.setText(json.getString("iduser"));
} catch ( JSONException e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
首先,您必须使用AsyncTask,您的代码不适用于最近的Android版本。
使用库来解析JSON,例如google-gson
{"success":"false", "message":"Credenciales de acceso inválidas. Inténtelo de nuevo.", "iduser":"0"}
class DataWrapper {
public Data data;
public static DataWrapper fromJson(String s) {
return new Gson().fromJson(s, DataWrapper.class);
}
public String toString() {
return new Gson().toJson(this);
}
}
class Data {
public boolean success;
public String message;
public int idUser;
}