2015-03-01 3 views
0

Я собираюсь делать, когда пользователь вводит «молчание» в 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(); 
     } 

    } 

Я всегда получал работу объекта нуль, а видеть в отладке.

+1

Ваш json не в правильном формате попробуйте эту ссылку, чтобы проверить правильность json - http://jsonlint.com/ –

ответ

1
{ getValueResult: [2] 0: { password: "umberlla" uname: "silent" } 
1: { password: "umberlla12" uname: "silent" } } 

Это не правильный json. Подтвердите json first

Смежные вопросы