值<! - ?java.lang.String类型的xml无法转换为JSONObject

时间:2017-07-22 08:10:12

标签: android json xml

使用以下代码处理JSON web服务:

 <loading-overlay id="loadingOverlay" is-loading="[[_loading]]" with-backdrop></loading-overlay>

解析输出的时间是

@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标签()。需要直接使用Array。我不知道如何删除JSON中的XML值。

1 个答案:

答案 0 :(得分:0)

我认为你正在使用.asmx服务。我遇到了这个问题,这就是我在服务方面的解决方法

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);
    }