Android请求网络数据,json解析-FastJson遇到的问题 首字母大写问题_android网络请求大小写问题-程序员宅基地

技术标签: Android  

在Android app开发过程中,用fastjson获取后台数据,后台返回的数据:[{"doseFrequencyList":[{"FrequencyCode":"ed","name":"每天","ordinal":"1"},{"FrequencyCode":"iod","name":"隔天","ordinal":"2"},{"FrequencyCode":"iow","name":"隔周","ordinal":"3"},{"FrequencyCode":"ew","name":"每周","ordinal":"4"}],"doseTimePoints":"{\r\n    \"1\": [\r\n        0\r\n    ],\r\n    \"2\": [\r\n        0,\r\n        43200000\r\n    ],\r\n    \"3\": [\r\n        0,\r\n        21600000,\r\n        43200000\r\n    ],\r\n    \"4\": [\r\n        -7200000,\r\n        14400000,\r\n        28800000,\r\n        50400000\r\n    ],\r\n    \"5\": [\r\n        0,\r\n        7200000,\r\n        25200000,\r\n        36000000,\r\n        46800000\r\n    ],\r\n    \"6\": [\r\n        0,\r\n        7200000,\r\n        14400000,\r\n        25200000,\r\n        36000000,\r\n        46800000\r\n    ]\r\n}","measureItemList":[{"defaultValue1":"80.00","defaultValue2":"120.00","maxValue":"300.00","measureItemCode":"blood_presure","minValue":"0.00","name":"血压","ordinal":"1","reference1_max_value":"140.00","reference1_min_value":"60.00","reference2_max_value":"140.00","reference2_min_value":"60.00","stepLength":"1.00","type":"2","unit":"mmHg"},{"defaultValue1":"80.00","maxValue":"300.00","measureItemCode":"pulse","minValue":"0.00","name":"心率","ordinal":"2","reference1_max_value":"100.00","reference1_min_value":"60.00","stepLength":"1.00","type":"1","unit":"次/分"},{"defaultValue1":"100.00","maxValue":"500.00","measureItemCode":"urine_output","minValue":"0.00","name":"24小时尿量","ordinal":"5","stepLength":"10.00","type":"1","unit":"毫升"},{"defaultValue1":"6.10","maxValue":"50.00","measureItemCode":"blood_sugar","minValue":"0.00","name":"血糖","ordinal":"7","reference1_max_value":"6.10","reference1_min_value":"3.90","stepLength":"0.10","type":"1","unit":"mmol/L"}]}]


FrequencyCode :首字母大写,如果不进行处理,前端是获取不到数据的。前端必须要做处理。如果前端不做处理的话,那就让后台处理。一般后台是不愿意处理的委屈,因为ios不管首字母大小写都是能获取到数据的。所以,只能Android前端修改喽。办法就是,在实体类中进行处理:代码如下:


public class GetMeasurePlanMetadata {


    private String doseTimePoints;
    private List<DoseFrequencyListBean> doseFrequencyList;
    private List<MeasureItemListBean> measureItemList;

    public String getDoseTimePoints() {
        return doseTimePoints;
    }

    public void setDoseTimePoints(String doseTimePoints) {
        this.doseTimePoints = doseTimePoints;
    }

    public List<DoseFrequencyListBean> getDoseFrequencyList() {
        return doseFrequencyList;
    }

    public void setDoseFrequencyList(List<DoseFrequencyListBean> doseFrequencyList) {
        this.doseFrequencyList = doseFrequencyList;
    }

    public List<MeasureItemListBean> getMeasureItemList() {
        return measureItemList;
    }

    public void setMeasureItemList(List<MeasureItemListBean> measureItemList) {
        this.measureItemList = measureItemList;
    }

    public static class DoseFrequencyListBean implements Serializable{
        /**
         * FrequencyCode : ed
         * name : 每天
         * ordinal : 1
         */


        private String frequencyCode;
        private String name;
        private String ordinal;
        @JSONField(name="FrequencyCode")
        public String getFrequencyCode() {
            return frequencyCode;
        }
        @JSONField(name="FrequencyCode")

        public void setFrequencyCode(String frequencyCode) {
            this.frequencyCode = frequencyCode;
        }


        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getOrdinal() {
            return ordinal;
        }

        public void setOrdinal(String ordinal) {
            this.ordinal = ordinal;
        }
    }

    public static class MeasureItemListBean {
        /**
         * defaultValue1 : 80.00
         * defaultValue2 : 120.00
         * maxValue : 300.00
         * measureItemCode : blood_presure
         * minValue : 0.00
         * name : 血压
         * ordinal : 1
         * reference1_max_value : 140.00
         * reference1_min_value : 60.00
         * reference2_max_value : 140.00
         * reference2_min_value : 60.00
         * stepLength : 1.00
         * type : 2
         * unit : mmHg
         */

        private String defaultValue1;
        private String defaultValue2;
        private String maxValue;
        private String measureItemCode;
        private String minValue;
        private String name;
        private String ordinal;
        private String reference1_max_value;
        private String reference1_min_value;
        private String reference2_max_value;
        private String reference2_min_value;
        private String stepLength;
        private String type;
        private String unit;

        public String getDefaultValue1() {
            return defaultValue1;
        }

        public void setDefaultValue1(String defaultValue1) {
            this.defaultValue1 = defaultValue1;
        }

        public String getDefaultValue2() {
            return defaultValue2;
        }

        public void setDefaultValue2(String defaultValue2) {
            this.defaultValue2 = defaultValue2;
        }

        public String getMaxValue() {
            return maxValue;
        }

        public void setMaxValue(String maxValue) {
            this.maxValue = maxValue;
        }

        public String getMeasureItemCode() {
            return measureItemCode;
        }

        public void setMeasureItemCode(String measureItemCode) {
            this.measureItemCode = measureItemCode;
        }

        public String getMinValue() {
            return minValue;
        }

        public void setMinValue(String minValue) {
            this.minValue = minValue;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getOrdinal() {
            return ordinal;
        }

        public void setOrdinal(String ordinal) {
            this.ordinal = ordinal;
        }

        public String getReference1_max_value() {
            return reference1_max_value;
        }

        public void setReference1_max_value(String reference1_max_value) {
            this.reference1_max_value = reference1_max_value;
        }

        public String getReference1_min_value() {
            return reference1_min_value;
        }

        public void setReference1_min_value(String reference1_min_value) {
            this.reference1_min_value = reference1_min_value;
        }

        public String getReference2_max_value() {
            return reference2_max_value;
        }

        public void setReference2_max_value(String reference2_max_value) {
            this.reference2_max_value = reference2_max_value;
        }

        public String getReference2_min_value() {
            return reference2_min_value;
        }

        public void setReference2_min_value(String reference2_min_value) {
            this.reference2_min_value = reference2_min_value;
        }

        public String getStepLength() {
            return stepLength;
        }

        public void setStepLength(String stepLength) {
            this.stepLength = stepLength;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getUnit() {
            return unit;
        }

        public void setUnit(String unit) {
            this.unit = unit;
        }
    }
}


主要看图片中显示:

修改的地方,按此种方法就能获取到数据。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jushuzhan/article/details/75779431

智能推荐

jsp的中文处理解决方法_jsp解决中文-程序员宅基地

文章浏览阅读1.3k次。和Java一样,JSP是目前比较热门的一个话题。它是一种在服务器端编译执行的Web设计语言,因为脚本语言采用了Java,所以JSP继承了Java的所有优点。可是在使用JSP程序的过程中,常遇到中文乱码问题,很多人为此头疼不已,初学的时候我就深受其害,而且使用平台不同,中文乱码问题的解决方法也不同,无形中增加了学习JSP的难度。其实,在彻底了解相关原因后,问题还是比较容易解决的。,以下是我总结的解决_jsp解决中文

Vue基础——常用指令_vue 类似 innerhtml的方法-程序员宅基地

文章浏览阅读2.6k次,点赞2次,收藏2次。Vue基础——常用指令指令:Vue的指令是以v-开头的,作用于页面中的元素,所以需要将指令绑定与元素中,从而达到给绑定的元素添加行为的目的。​ 语法:<元素标签 v-指令 = “表达式”>1.v-text和v-html​ v-text 和v-html作用相近,都是更新元素的中的内容,可以理解为innertext和innerHTML,而不能一味的滥用这两个指令 ,如果需要更新的只是部分的元素则应该使用的是双大括号的插值:{{value}}。另外 v-_vue 类似 innerhtml的方法

VS2017 程序在新电脑环境出现 “无法加载DLL “xxxx.dll“:找不到指定模块。”(异常来自 HRESULT:0x8007007E)_vs2017 引用dll错误-程序员宅基地

文章浏览阅读2.3k次。背景写了一个调用C++ DLL库的C#测试程序,在别人的电脑出现如下错误:排查确认自定义的DLL和需要引用的DLL在当前运行exe的同一目录。确认是否按照VC运行库vc_redist.x64自己安装确定运行库使用的环境 MT/MD/MT是 "multithread, static version ” 意思是多线程静态的版本/MD是 "multithread- and DLL-specific version” ,意思是多线程DLL版本类似linux的lib/so,确保_vs2017 引用dll错误

移动端开发基础知识_移动开发所需要的知识-程序员宅基地

文章浏览阅读1.8w次,点赞28次,收藏141次。移动web开发指的是: 需要适配移动设备的网页开发移动web开发与pc端web开发没有本质的区别,使用的还是HTML/CSS/JavaScript的技术移动端与pc端web开发的区别:1、浏览器不同移动端的浏览器与pc端不同谷歌浏览器 苹果浏览器、 UC浏览器 QQ浏览器 百度手机浏览器 360安全浏览器 搜狗浏览器 猎豹浏览器等国内的手机浏览器都是根据webkit内核修..._移动开发所需要的知识

火狐浏览器和Chrome浏览器的开发人员工具F12比对(面向测试人员)_firefox开发者工具能跟谷歌的一样吗-程序员宅基地

文章浏览阅读3.4k次。以前都是用Chrome来进行抓包,但是response可能是空的。今天用火狐的试了一下发现竟然有数据的。(详细询问下开发人员也可以)以下是相同bug的对比:ChromeFirefox..._firefox开发者工具能跟谷歌的一样吗

【原创】VMware安装没有引导的Ghost镜像,超级详细,步步讲解_ghost文件在vm不能引导-程序员宅基地

文章浏览阅读9.1k次,点赞6次,收藏29次。最近我的VMware群里遇到好几个下载了Win10 Ghost镜像但是放在VMware中没法安装的小伙伴,我决定出个博客教程帮助一下各位。前置准备VMware Workstation软件一个,能够给VMware引导的Windows PE 镜像一个,没法直接引导安装的Ghost的iso镜像一个1、新建虚拟机一定要选择自定义(高级),因为Win10一般都是UEFI引导,但是Ghost的Win10一般是BIOS引导,选错第一步就直接凉凉兼容性默认选择无法引导的Ghost镜像(由于镜_ghost文件在vm不能引导

随便推点

Linux从设备树取gpio号,linux设备树之gpio-程序员宅基地

文章浏览阅读984次。#include /* DTSmyled{compatible = "led";/* led2-5: gpx2_7 gpx1_0 gpf3_4 gpf3_5 *//*gpios = , , , ;};*/MODULE_LICENSE("Dual BSD/GPL");MODULE_DESCRIPTION("a simple driver example!");//create a platform ..._linux中获取设备树gpio口

Android S 快速搭建BCC环境_eadb bcc-程序员宅基地

文章浏览阅读2.1k次,点赞5次,收藏8次。Android BCC EBPF_eadb bcc

ORA-12519: TNS:no appropriate service handler found 解决 -程序员宅基地

文章浏览阅读104次。有时候连得上数据库,有时候又连不上.可能是数据库上当前的连接数目已经超过了它能够处理的最大值.select count(*) from v$process --当前的连接数select value from v$parameter where name = 'processes' --数据库允许的最大连接数修改最大连接数:alter system set processes = 300 s..._sys.utl_http tns:no listener

c++宏定义系列2-程序员宅基地

文章浏览阅读77次。C++提供的编译预处理功能主要有以下三种:  (一) 宏定义  (二) 文件包含  (三) 条件编译在C++中,我们一般用const定义符号常量。很显然,用const定义常量比用define定义常量更好。  在使用宏定义时应注意的是:  (a) 在书写#define 命令时,注意<宏名>和<字符串>之间用空格分开,而不是用等号连接。  (b) 使用#define定..._将宏定义改为2

【OpenCV + Python】Hough 直线变换_python opencv houghlinesp-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏5次。• 理解霍夫变换的概念• 学习如何在一张图片中检测直线• 学习函数:cv2.HoughLines(),cv2.HoughLinesP()霍夫变换在检测各种形状的的技术中非常流行,如果你要检测的形状可以用数学表达式写出,你就可以是使用霍夫变换检测它。即使要检测的形状存在一点破坏或者扭曲也可以使用。我们下面就看看如何使用霍夫变换检测直线。一条直线可以用数学表达式y = mx + c 或者 = ..._python opencv houghlinesp

FPGA实现1位全加器_fpga用元件例化语句实现1位全加器-程序员宅基地

文章浏览阅读312次。1. 新建工程文件取名如下:芯片型号选择如下:2. 新建半加器原理图文件分别调入元件,设计原理图如下:设计原理图如下:_fpga用元件例化语句实现1位全加器

推荐文章

热门文章

相关标签