2016-07-08 231 views
0

我有从我的web服务接收json的json。 这将是这个样子,无法解析json在android

{"JSONDataResult":"[{\"id\":3,\"e_code\":123533,\"type\":\"ab\",\"description\":\"sick-leave\",\"remarks\":\"test\",\"req_date\":\"2016-07-01T12:22:34\",\"date\":\"01\/07\/2016\",\"response\":null,\"aproved_date_time\":null,\"status\":\"not seen\"}]"} 

从JSON http://www.jsoneditoronline.org/验证时,它说,它只有一个对象。我甚至不能将其转换成JSON数组从客户端的Android应用程序,它说这样

org.json.JSONException: Value [{"id":3,"e_code":123533,"type":"ab","description":"sick-leave","remarks":"test","req_date":"2016-07-01T12:22:34","date":"01/07/2016","response":null,"aproved_date_time":null,"status":"not seen"}] at JSONDataResult of type java.lang.String cannot be converted to JSONArray 

荫使用AsyncHttpClient(循环J)来解析JSON

client.get("http://192.168.1.6/JSONService/RESTService.svc/json/dddd",new JsonHttpResponseHandler(){ 
     @Override 
     public void onSuccess(int statusCode, Header[] headers, JSONObject response) { 


       try { 

        String str=response.toString(); 

        JSONObject jobj=new JSONObject(str); 
        jsonArray=jobj.getJSONArray("JSONDataResult"); 

        ... 
+1

抱歉,这是[this]的重复问题(http://stackoverflow.com/questions/15945394/android-value-of-type-java-lang-string-cannot-be-converted-to-jsonarray) – noushad

+0

为什么你想将json再次转换为字符串吗?你为什么不直接解析它? – SripadRaj

+0

我在那里找到答案... – noushad

回答

0

您可以通过以下方式对其进行分析:

比方说,你所得到的反应在以下变量strData是

strData = strData.replaceAll("\\",""); 

    JSONObject jsonObject = new JSONObject(strData); 
    JSONArray jsonArray = jsonObject.getJSONArray("JSONDataResult"); 
+0

任何方式谢谢你的回答......得到了答案之前:) – noushad

+0

是的,我看到没有问题享受你的编码... – Vickyexpert

+0

这将只是摧毁JSON。馊主意。 – Biffen