当前位置: 首页 > news >正文

浏览网站内下载文件餐饮营销策划方案

浏览网站内下载文件,餐饮营销策划方案,dede网站地图路径,江苏有哪些做网站建设的公司一、解决将Long型转化为科学计数法的问题 1.1 场景 将一个对象转为Map类型时,调用Gson.fromJson发现,原来对象中的long类型的personId字段,被解析成了科学计数法,导致请求接口失败,报参数错误。 解决结果图 1.2、Exa…

一、解决将Long型转化为科学计数法的问题

1.1 场景

将一个对象转为Map类型时,调用Gson.fromJson发现,原来对象中的long类型的personId字段,被解析成了科学计数法,导致请求接口失败,报参数错误。

解决结果图
在这里插入图片描述

1.2、ExampleUnitTest.kt示例代码
data class ReuestParmObj(val personId: Long = 1668394335647, val personType: Int = 1)
class ExampleUnitTest {private val mGson: Gson = Gson()@Testfun gsonReuestParmJson() {val reuestParmObj = ReuestParmObj(1668394335647, 1)val reuestParmJson: String = mGson.toJson(reuestParmObj)println("reuestParmJson信息:$reuestParmJson")val mapParm: Map<String, *> =mGson.fromJson(reuestParmJson, Map::class.java) as Map<String, *>println("mapParms信息:$mapParm")}
}

测试结果
在这里插入图片描述

1.3 解决将Long型转化为科学计数法问题的方案

修改gson配置
private val mGson: Gson = GsonBuilder().setLongSerializationPolicy(LongSerializationPolicy.STRING).create()

data class ReuestParmObj(val personId: Long = 1668394335647, val personType: Int = 1)
class ExampleUnitTest {
//    private val mGson: Gson = Gson()private val mGson: Gson = GsonBuilder().setLongSerializationPolicy(LongSerializationPolicy.STRING).create()@Testfun gsonReuestParmJson() {val reuestParmObj = ReuestParmObj(1668394335647, 1)val reuestParmJson: String = mGson.toJson(reuestParmObj)println("reuestParmJson信息:$reuestParmJson")val mapParm: Map<String, *> =mGson.fromJson(reuestParmJson, Map::class.java) as Map<String, *>println("mapParms信息:$mapParm")}
}

测试结果
在这里插入图片描述

二、 把null值也转换,默认是不转换null值的

设置:serializeNulls()

 private val mGson: Gson = GsonBuilder().setLongSerializationPolicy(LongSerializationPolicy.STRING).serializeNulls().create()

三、Html的转换

Gson默认是把Html 转义的,但也可以设置不转义。
设置:disableHtmlEscaping()

class ExampleUnitTest {@Testfun testDisableHtmlEscaping(){val gson1: Gson = Gson()val gson2: Gson = GsonBuilder().disableHtmlEscaping().create()val htmlStr = "<h3>测试disableHtmlEscaping</h3>"println("未设置disableHtmlEscaping转换htmlStr结果:${gson1.toJson(htmlStr)}")println("设置disableHtmlEscaping转换htmlStr结果:${gson2.toJson(htmlStr)}")}
}

测试结果
在这里插入图片描述

四、设置输入json格式

默认的输出是compact格式,示例
{"personId":1668394335647,"personType":1}
设置:setPrettyPrinting()

class ExampleUnitTest {@Testfun testSetPrettyPrinting(){val gson1: Gson = Gson()val gson2: Gson = GsonBuilder().setLongSerializationPolicy(LongSerializationPolicy.STRING).setPrettyPrinting().create()val reuestParmObj = ReuestParmObj(1668394335647, 1)println("未设置 setPrettyPrinting 转换reuestParmObj结果:${gson1.toJson(reuestParmObj)}")println("设置 setPrettyPrinting 转换reuestParmObj结果:${gson2.toJson(reuestParmObj)}")}
}

测试结果
在这里插入图片描述

五、ExampleUnitTest.kt文件完整代码

import com.google.gson.Gson
import com.google.gson.GsonBuilder
import com.google.gson.LongSerializationPolicy
import com.google.gson.reflect.TypeToken
import org.junit.Test/*** Example local unit test, which will execute on the development machine (host).** See [testing documentation](http://d.android.com/tools/testing).*/data class ReuestParmObj(val personId: Long = 1668394335647, val personType: Int = 1)
class ExampleUnitTest {private val mGson1: Gson = Gson()private val mGson2: Gson =GsonBuilder().setLongSerializationPolicy(LongSerializationPolicy.STRING).serializeNulls().disableHtmlEscaping().create()@Testfun gsonReuestParmJson() {val reuestParmObj = ReuestParmObj(1668394335647, 1)val reuestParmJson1: String = mGson1.toJson(reuestParmObj)val reuestParmJson2: String = mGson2.toJson(reuestParmObj)println("reuestParmJson1 信息:$reuestParmJson1")println("reuestParmJson2 信息:$reuestParmJson2")//        val type = object : TypeToken<Map<String, *>>() {}.type
//        val mapParm: Map<String, *> = mGson1.fromJson(reuestParmJson, type)val mapParm1: Map<String, *> =mGson1.fromJson(reuestParmJson1, Map::class.java) as Map<String, *>println("mapParm1 信息:$mapParm1")val mapParm2: Map<String, *> =mGson2.fromJson(reuestParmJson2, Map::class.java) as Map<String, *>println("mapParms2 信息:$mapParm2")/*reuestParmJson1 信息:{"personId":1668394335647,"personType":1}reuestParmJson2 信息:{"personId":"1668394335647","personType":1}mapParm1 信息:{personId=1.668394335647E12, personType=1.0}mapParms2 信息:{personId=1668394335647, personType=1.0}*/}@Testfun testDisableHtmlEscaping() {val gson1: Gson = Gson()val gson2: Gson = GsonBuilder().disableHtmlEscaping().create()val htmlStr = "<h3>测试disableHtmlEscaping</h3>"println("未设置disableHtmlEscaping转换htmlStr结果:${gson1.toJson(htmlStr)}")println("设置disableHtmlEscaping转换htmlStr结果:${gson2.toJson(htmlStr)}")/*未设置disableHtmlEscaping转换htmlStr结果:"\u003ch3\u003e测试disableHtmlEscaping\u003c/h3\u003e"设置disableHtmlEscaping转换htmlStr结果:"<h3>测试disableHtmlEscaping</h3>"*/}@Testfun testSetPrettyPrinting() {val gson1: Gson = Gson()val gson2: Gson = GsonBuilder().setLongSerializationPolicy(LongSerializationPolicy.STRING).setPrettyPrinting().create()val reuestParmObj = ReuestParmObj(1668394335647, 1)println("未设置 setPrettyPrinting 转换reuestParmObj结果:${gson1.toJson(reuestParmObj)}")println("设置 setPrettyPrinting 转换reuestParmObj结果:${gson2.toJson(reuestParmObj)}")/*未设置 setPrettyPrinting 转换reuestParmObj结果:{"personId":1668394335647,"personType":1}设置 setPrettyPrinting 转换reuestParmObj结果:{"personId": "1668394335647","personType": 1}*/}
}
http://www.qdjiajiao.com/news/1595.html

相关文章:

  • 我要找个做网站的公司sem是什么意思职业
  • 深圳做电商平台网站推特是谁的公司
  • 营销型网站建设步骤百度网站app下载
  • 公司弄个网站多少钱电商培训大概多少学费
  • 武汉网站建设公司厂家地址网络营销案例2022
  • 在工商局网站做变更需要多久安卓排名优化
  • 网站设计培训班创业百度手机助手下载安卓
  • 论坛型网站怎么做的正规电商培训班
  • 自己做的网站怎么发布到网上sem和seo哪个工作好
  • 响应式网站建设服务长沙seo网站
  • 今日急招50一55岁工人app优化排名
  • 第一app模板免费下载优化网站推广网站
  • 北京工程网站建设百度世界500强排名
  • 门户网站作用360推广登录
  • 现在甘肃疫情最新情况百度seo排名技术必不可少
  • asp网站上一篇下一篇代码什么是整合营销概念
  • 广州正佳广场地铁站哪个出口建站seo推广
  • 响应式网站开发要注意哪些淮北seo排名
  • 成营销型网站制作广州seo软件
  • 网站制作收费百度下载并安装
  • 如何做网站站内搜索代码网站模板
  • 做漫画在线观看网站在线培训系统平台
  • 长沙做网站建设google推广 的效果
  • 做网站找那些公司江小白网络营销案例
  • 如何在导航网站上做链接百度推广竞价排名
  • 兰溪网站建设河南整站关键词排名优化软件
  • 网站如何绑定域名襄阳seo培训
  • 佛山公共交易资源平台杭州seo网
  • 全flash网站制作新闻今天最新消息
  • 做网站卖东西流程网络营销的特点包括