json解析 JSONObject JSONArray 遇到了float 异常了
来源:互联网 发布:淘宝自动输入验证码 编辑:程序博客网 时间:2024/06/14 14:20
1、问题背景
1.解析下面json
{"result":[{"adcd":"17032811121000001","adNm":"奎屯市","countYesd":11.0,"engManCd":"北京奥特美克","estStYm":"2017-06-04 14:22:47","lgtd":11.10000000,"loc":"北京奥特美克","lttd":11.10000000,"stcd":"1111111","stNm":"测试雨量站1","ts":"2017-05-31 14:37:10"},{"adcd":"17032811121000008","adNm":"兵团一三一团","countYesd":22.0,"engManCd":"北京市海淀区","estStYm":"2017-06-02 14:58:44","lgtd":22.00000000,"loc":"北京海淀","lttd":22.00000000,"stcd":"222","stNm":"测试雨量站2","ts":"2017-06-02 14:59:17"},{"adcd":"17032811121000001","adNm":"奎屯市","countYesd":null,"engManCd":"奎屯","estStYm":"2017-06-02 14:58:44","lgtd":84.78595732,"loc":"奎屯","lttd":44.31918123,"stcd":"20105061","stNm":"奎屯河水管站","ts":null},{"adcd":"17032811121000001","adNm":"奎屯市","countYesd":null,"engManCd":"奎屯","estStYm":"2017-06-02 14:58:44","lgtd":84.90324497,"loc":"奎屯","lttd":44.42627155,"stcd":"20105065","stNm":"奎屯市政府","ts":null}],"code":1}
2.分析
本来想用gson来解析,但是总是异常,而且当时我以为是网络问题,因为网络框架的onerror爆错了,后来发现,onsuccess也触发了,后来发现onsuccess中解析错误,才导致了,onerror;
java bean为 HydrologyRainStation
private String stcd;//测站编码 private String stNm;//测站名称 private String engManCd;//管理单位 private String loc;//所在地(地址) private String estStYm;//设站年月 private String adcd;//行政区编码 private String adNm;//行政区名称 private String ts;//监测时间 private Double lgtd;//测站经度 private Double lttd;//测站纬度 private String countYesd;//**原来为Float格式**
3.下面是用gson解析的代码
Gson gson = new Gson(); String data = json.getString("result"); mList.clear(); try { mList = gson.fromJson(data, new TypeToken<List<HydrologyRainStation>>(){}.getType()); } catch (Exception e) { LogUtils.e("st","result转bean解析有问题"+e); e.printStackTrace(); }
4.用JSONArray来解析
下面注释的代码
JSONArray jsonA=json.getJSONArray("result");for (int i=0;i<jsonA.length();i++){HydrologyRainStation hrs=new HydrologyRainStation();JSONObject jsonR= jsonA.getJSONObject(i);hrs.setAdNm(jsonR.getString("adNm"));hrs.setAdcd(jsonR.getString("adcd"));hrs.setEngManCd(jsonR.getString("engManCd"));hrs.setEstStYm(jsonR.getString("estStYm"));hrs.setLoc(jsonR.getString("loc"));hrs.setLgtd(jsonR.getDouble("lgtd"));hrs.setLttd(jsonR.getDouble("lttd"));hrs.setCountYesd(String.valueOf(jsonR.get("countYesd")));hrs.setTs(jsonR.getString("ts"));hrs.setStNm(jsonR.getString("stNm"));hrs.setStcd(jsonR.getString("stcd"));mList.add(hrs);LogUtils.e("sjt", "size数据为" + mList.size()); }
hrs.setCountYesd(String.valueOf(jsonR.get(“countYesd”)));原来
写的,getDouble…想用double转float,疯了
而,没有getFloat,为何
见:JSON巧遇Float,请注意转向
5.发现都有错
关键是result 里有一个值为float
而,javabean里也写的float,Float写string解决
阅读全文
0 0
- json解析 JSONObject JSONArray 遇到了float 异常了
- JSONObject/JSONArray解析json
- JSON解析 Gson解析方式 JSONObject JSONArray
- JSONObject与JSONArray解析Json数据例子
- Android JSON 解析(一) JSONObject 和 JSONArray
- jsonObject和jsonArray解析json的方式
- JSONObject与JSONArray的使用-解析Json
- Android JSON解析(JSONObject和JSONArray)
- JSON数据解析(JSONArray和JSONObject)
- jsonObject和jsonArray解析json的方式
- 使用JSONObject和JSONArray 进行Json解析
- Android JSON解析(JSONObject和JSONArray)
- 用JSONObject和JSONArray 解析json数据
- 用到了JSONArray和JSONObject就要知道
- 使用JSONObject解析json串,JSONArray解析json
- 【json】JsonObject / JsonArray
- Json JsonObject JsonArray
- JSONObject,JSON,和JSONArray
- Android开发(一)
- Kotlin-Coroutine-In-Java
- Dubbo-admin管理平台搭建
- 给Python3爬虫做一个界面.妹子图网实战 1
- 安卓新标准出台_告别乱弹窗_你的手机真会省电么?
- json解析 JSONObject JSONArray 遇到了float 异常了
- Hello_World感知机_懂你我心才安息_(深度学习入门系列之五)
- dd命令显示当前进度
- spring security的原理及教程
- 使用Eclipse的几个必须掌握的快捷方式
- Android中快速打包神器
- 搭建个人博客
- SQL Server 创建表,添加约束
- 《Android源码设计模式解析与实战》读书笔记(二十一)——装饰者模式