【问题标题】:Value <?xml of type java.lang.String cannot be converted to JSONObjectjava.lang.String 类型的值 <?xml 无法转换为 JSONObject
【发布时间】:2017-07-22 08:10:12
【问题描述】:

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

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

【问题讨论】:

    标签: android json xml


    【解决方案1】:

    我认为您正在使用 .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);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-03
      • 2017-10-02
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多