Я собираюсь делать, когда пользователь вводит «молчание» в edittextbox в android, в другом текстовом поле будут показаны эти два «зонтика» паролей и «зонтик12». Я пытаюсь передать этот тип Jsonкак я могу разобрать json в android?
{
getValueResult: [
{
password: "umberlla"
uname: "silent"
},
{
password: "umberlla12"
uname: "silent"
}]
}
код для разборе JSON выглядит следующим образом. Но я не могу получить объект getValueResult в StringBuilder после добавления в while цикла, он показывает null.
Вот мой андроид код:
public void onGoClick(View v)
{
EditText edt=(EditText)findViewById(R.id.editText1);
HttpClient hc=new DefaultHttpClient();
HttpPost hp=new HttpPost("http://192.168.0.4:80/WcfClassDatabase/Service1.svc/getValue");
JSONObject jo=new JSONObject();
try {
jo.putOpt("name", edt);
StringEntity se=new StringEntity(jo.toString());
hp.setEntity(se);
hp.setHeader("Accept","application/json");
hp.setHeader("Content-type","application/json");
HttpResponse hr= hc.execute(hp);
Toast.makeText(this,"execute", Toast.LENGTH_LONG).show();
HttpEntity he=hr.getEntity();
InputStream is=he.getContent();
InputStreamReader ir=new InputStreamReader(is);
BufferedReader br=new BufferedReader(ir);
StringBuilder sbr=new StringBuilder();
String line="";
while((line=br.readLine()) != null)
{
sbr.append(line);
}
JSONObject job=new JSONObject(sbr.toString());
JSONArray ja=job.getJSONArray("getValueResult:");
// ArrayList<String> al = new ArrayList<String>();
String string= ja.getJSONObject(0).getString("password");
EditText edt2=(EditText)findViewById(R.id.editText2);
edt2.setText(string);
}
catch (Exception e) {
// TODO Auto-generated catch block
Toast.makeText(this, "oh!Failure", 10).show();
e.printStackTrace();
}
}
Я всегда получал работу объекта нуль, а видеть в отладке.
Ваш json не в правильном формате попробуйте эту ссылку, чтобы проверить правильность json - http://jsonlint.com/ –