zoukankan      html  css  js  c++  java
  • Android调用 .Net Core WebApi 返回数据,用FastJSON解析一直报错。

    问题描述:.Net Core WebApi中用Newtonsoft.Json 把datatable转成json字符串,如:JsonConvert.SerializeObject(table,Formatting.Indented);

    然后把转化好的JSON字符串new JsonResult ()作为返回值。这样android调用获得的数据用fastjson解析错误。

    解决办法:把WebApi中的返回类型JsonResult改成了string,最终在android端调用后解析就能成功。

    在android端调用时,指定

    HttpURLConnection
    connection.setRequestProperty("Content-type","application/json");
    获取结果。。。
    最后用FastJson解析
    private void AddData() throws JSONException {
            list = null;
            list = new ArrayList<HashMap<String,String>>();
            //结果转换成Arrary。成功。
           com.alibaba.fastjson.JSONArray array = JSON.parseArray(webresult);
            Object test ;
            for (int i = 0; i < array.size(); i++) {
                map = new HashMap<String, String>();
                com.alibaba.fastjson.JSONObject obj = JSON.parseObject(array.get(i).toString());
                test = obj.get("no");
                map.put("no",obj.get("no").toString());
                map.put("name",obj.get("name").toString());
                map.put("object",obj.get("object").toString());
                map.put("score",obj.get("score").toString());
    
                list.add(map);
            }
        }
    调用后得到的结果就是正常的json类型。

    
    
    返回类型为JsonResult,调用后得到的结果如下图。这种结果直接用FastJson解析直接报错,但是把这结果直接拷贝到代码中作为是String 变量来解析就不报错。

    
    
    
    
  • 相关阅读:
    Ubuntu14.04下Sublime Text 3解决无法输入中文
    100% 解决wine中文乱码问题
    历史朝代顺序表
    HTTP状态码分类
    Kali Linux 2019
    多线程下载器(针对于百度云下载)
    百度云破解版&&第三方下载工具&&分享链接无需提取码直接下载
    MongoDB 4.0.10 GridFS操作
    MongoDB 4.0.10 游标
    MongoDB 4.0.10 用户管理
  • 原文地址:https://www.cnblogs.com/longdb/p/10049594.html
Copyright © 2011-2022 走看看