2011-12-07 162 views
-2

我有一個關於解析Android中的JSON字符串的問題。我試圖解析此JSON:Android解析字符串/ JSON問題

{ 
    "error":504, 
    "result":"[\"USRL3C4NAEL84727\",\"USR1HZE4UN5289H1\",\"USR46476WQB92M84\",\"USR4ZQ193YGRK782\"]" 
} 

,我其實需要的是解析result部分。我也試試這個:

JSONObject jObj = new JSONObject(responseString); 
      int error = Integer.parseInt(jObj.optString("error","0")); 
      String errorMessage = jObj.optString("result",""); 
      if(error==504){ 
       JSONArray savedCodes = jObj.getJSONArray("result"); 
       for (int i = 0; i < savedCodes.length(); i++) { 
        String returnString = savedCodes.getString(i); 
        Log.e("","returnString : "+returnString); 
       } 
      } 

但它扔我一個例外:

org.json.JSONException: Value ["USR9BA13IZG27H93","USRI818369RH919Y","USRWT7612CQV4375","USR7739R644X84A1"] at result of type java.lang.String cannot be converted to JSONArray 

所以我想這不是JSONArray,我需要知道如何解析的結果的一部分,並在最後得到這樣的:

String 1 = USR9BA13IZG27H93 
String 2 = USRI818369RH919Y 
and etc... 

任何解決方案?

+1

可能[我怎樣才能解析這個JSON在Android?](http://stackoverflow.com/questions/3605077/how-can-i-parse -this-json-in-android)和大約一百萬個StackOverflow的其他問題。 – Polynomial

+0

是結果數組還是字符串? –

+0

轉到谷歌並搜索「Android JSON解析教程」。 –

回答

0

要做到這一點最簡單的方法:

String errorMessage = jObj.optString("result",""); 
if(error==504){ 
    String first = errorMessage.replace("[", ""); 
    String second = first.replace("]", ""); 
    String third = second.replace("\"", ""); 
    String[] split = third.split(","); 

    for(int i=0;i< split.length;i++) 
     Log.e("","SPLIT : "+split[i]); 
}