Android调用 .Net Core WebApi 返回数据,用FastJSON解析一直报错。
16lz
2021-01-26
问题描述:.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>(); //结果转换成Arrary。成功。 com.alibaba.fastjson.JSONArray array = JSON.parseArray(webresult); Object test ; for (int i = 0; i < array.size(); i++) { map = new HashMap (); 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 变量来解析就不报错。
更多相关文章
- Android(安卓)selinux配置和用法
- Android(安卓)使用Socket实现服务器与手机客户端的长连接四:使用
- Android(安卓)NDK c创建java对象
- OpenCV 调用 Android智能手机摄像头
- 使用 PopupWindow 的注意事项
- Android(安卓)Base64加密解密
- 【Android2D游戏开发之四】Android(安卓)游戏框架(一个游戏角色在
- android 启动自动调用自己创建的脚本(应用程序)
- Android(安卓)中的日志工具类