json数据解析中数据类型怎么转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json数据解析中数据类型怎么转换相关的知识,希望对你有一定的参考价值。
比如有一组json数据,如:[*]"singers":[[*]'id':02,'name':'tom','cityId':0,[*]'id':03,'name':'jerry,'cityId':1,[*]'id':04,'name':'jim,'cityId':null,[*]'id':05,'name':'lily,'cityId':3][*]cityId默认是int型的,0代表不限,1代表北京,3代表深圳等等,cityId值为null也就是没有设置值默认为null,也就是默认为不城市不限,但是在解析到其中的第三组数据时,报错显示说第三数据类型不匹配,因为第三组数据中的cityId值为null,这种情况下用jsonobject.getInt("cityId")是得不到这个null值的,我想问下jsonobject怎么得到这个null值,或者怎么将这个null读取出来,再转换成默认的int型0值。哪位大件帮帮忙
参考技术A 你解析的时候可以默认他为String类型,解析后,转成int,加个try catch 出错就是null, 参考技术B Gson gson=new Gson();。。。=gson.fromJson(json, new TypeToken<。。。>().getType());。。。代表类。这样放入类体中比较好。。不知道是不是你要的js 转换成整形
javascript 变量转换成整形
JS中基本类型数据只有整型,浮点型,字符型和布尔型。将字符串转化成整型,只能用parseInt(str) 把字符串解析成整数,默认按照十进制,但若是0开头则按八进制,若是0x开头则按十六进制;或者parseInt
(str,radix) 按指定进制,把字符串解析成整数,即把str当成radix进制翻译成十进制 参考技术A js变量声明时不需要指定数据类型,以赋值为准,就是你赋的值是什么型就会默认为什么型。
如果是其他类型想换成整形的话可以用parseInt()
如:parseInt("6.12")-->6
要是转不了,就会报NaN 参考技术B 把一个日期字符串如“2007-2-28 10:18:30”转换为Date对象:
1:
var strArray=str.split(" ");
var strDate=strArray[0].split("-");
var strTime=strArray[1].split(":");
var a=new Date(strDate[0],(strDate[1]-parseInt(1)),strDate[2],strTime[0],strTime[1],strTime[2])
2:
var s = "2005-12-15 09:41:30";
var d = new Date(Date.parse(s.replace(/-/g, "/")));
第二种方法真是简单啊! 参考技术C 1.丢弃小数部分,保留整数部分
js:parseInt(7/2)
2.向上取整,有小数就整数部分加1
js: Math.ceil(7/2)
3,四舍五入.
js: Math.round(7/2)
4,向下取整
js: Math.floor(7/2) 参考技术D 字符串数据如果是 “123” 就字符串-0就可以了。。
以上是关于json数据解析中数据类型怎么转换的主要内容,如果未能解决你的问题,请参考以下文章
C#如何将xml数据转换成Array类型或者集合类?多谢!!!
php怎么将mysql查询的数组中 的(数字)字符串类型转为数字类型
解析数据 org.json.JSONException 时出错:Java.lang.String 类型的值 <!DOCTYPE 无法转换为 JSONObject