2017-07-22 141 views
0

使用以下代碼手柄JSON幅serivce:值<java.lang.String類型的XML不能轉換到的JSONObject

@Override 
     protected Void doInBackground(Void... voids) { 

      String data = HttpDataHandler.GetHTTPData(rootURL); 

      try { 
       JSONObject jsonObject = new JSONObject(data); 
       JSONArray jsonArray = jsonObject.getJSONArray("arrKitchenAPP"); 
       for (int i = 0; i < jsonArray.length(); i++) { 
        JSONObject jsonObject1 = jsonArray.getJSONObject(i); 
        String submenu_Pk_id = jsonObject1.optString("PK_ID"); 
        String submenu_name = jsonObject1.optString("Submenu_name"); 
        String submenu_image = jsonObject1.optString("Submenu_image"); 
        String submenu_displayOrder = jsonObject1.optString("Display_order"); 
        String submenu_mainMenuFkId = jsonObject1.optString("Main_menu_fkid"); 

        Model model = new Model(); 
        model.setsubmenu_pk_id(submenu_Pk_id); 
        model.setSubmenu_name(submenu_name); 
        model.setSubmenu_image(submenu_image); 
        model.setDisplay_order(submenu_displayOrder); 
        model.setMain_menu_fkid(submenu_mainMenuFkId); 

       } 

在解析輸出正在逐漸被

<?xml version="1.0" encoding="utf-8"?><string xmlns="http://tempuri.org/">{"arrKitchenAPP":[{"PK_ID":1,"Submenu_name":"Soups","Submenu_image":" ","Display_order":1,"Main_menu_fkid":1}]}</string> 

我不想要XML標籤()。直接需要Array。我不知道如何刪除JSON中的XML值。

回答

0

我認爲你正在使用的.asmx service.I遇到了這個問題,這裏是我如何解決它在服務端

1)聲明的方法用於轉換JSON和刪除命名空間標題

private void ConvertJSON(object data) 
    { 

    Context.Response.Clear(); 
    Context.Response.ContentType = "application/json"; 
    Context.Response.Write(JsonConvert.SerializeObject(data, Formatting.Indented)); 

    } 

那麼就用它吧。這裏是一個例子

[WebMethod] 
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
    public void getCampaignList() 
    { 
     //GET JSON DATA and Convert it 


     ConvertJSON(response); 
    } 
相關問題