【IT专家】前端js遍历json对象方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本文由我司收集整编,推荐下载,如有疑问,请与我司联系

前端js遍历json对象方法

2017/06/07 0 环境操作系统:win7

 情形最近遇到这么一个情况,后台使用LinkedHashMap处理好数据,在使用renderJson()返回数据的时候发现,数据的原有顺序没有了,后来才知道renderJson()方法底层使用Gson据网上说是使用HashMap,因此是无序的。

 后来,我后台处理采用List Map 的方式来返回数据,顺序有了,前端遍历的时候,遇到困难。最开始我是这么遍历的:

 for(var ld in data){//list map for(var key in ld){ str += “ tr td “+ key +” /td td “+ ld2[key] +” /td /tr “; }}结果拼接出来的结果是:key为0,ld2[key]为Object。上面写法我是按照java那套思路来写的,后来发现js的遍历方法还是和java有区别的。

 for(var ld in data){//list map //在java中ld是具体某个map//在js中ld仅仅只是list 数组的下标,要获取某个map,需要这么写:data[ld]因此上面的代码需要这么写: for(var ld in data){//list map var ld2 = data[ld]; for(var key in ld2){ str += “ tr td “+ key +” /td td “+ ld2[key] +” /td /tr “; }}这样就OK啦,但是我返回的map里面有日期,它长这个样:Jun 7, 2017 1:40:26 PM。结果,js处理这个时间太蛋疼了,虽然网上有解决方法,但是我没有成功。最后我是在后台把时间转成相应格式的字符串。

 数据类型和Json格式看到大神的一篇文章:里面有句话:

 从结构上看,所有的数据(data)最终都可以分解成三种类型:

 第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如”北京”这个单独的词。

 第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List),比如”北京,上海”。

 第三种类型是映射(mapping),也就是一个名/值对(Name/value),即数据有一个名称,还有一个与之相对应的值,这又称作散列(hash)或字典(dictionary),比如”首都:北京”。

相关文档
最新文档