`

Chrome处理JSON数据时的特殊之处

阅读更多

有JSON字符串如下:

 

var cities = {
	"2":
		{
			"id":"2","name":"shanghai"
		},
	"1":
		{
			"id":"1","name":"beijing"
		},
	"4":
		{
			"id":"4","name":"shenzhen"
		},
	"3":
		{
			"id":"3","name":"xianggang"
		}
	};

 

 遍历该JSON对象,将其顺序打印出来,Chrome会和其他浏览器得到不同的结果。

 

<script>
var cities = {
	"2":
		{
			"id":"2","name":"shanghai"
		},
	"1":
		{
			"id":"1","name":"beijing"
		},
	"4":
		{
			"id":"4","name":"shenzhen"
		},
	"3":
		{
			"id":"3","name":"xianggang"
		}
	};

var row;
for(i in cities)
{
	row = "ID:"+cities[i].id+",Name:"+cities[i].name+"<br />";
	document.write(row);
}
</script>

 

 IE、Firefox及Safari得到结果均为:

ID:2,Name:shanghai
ID:1,Name:beijing
ID:4,Name:shenzhen
ID:3,Name:xianggang

 但Chrome的运行结果为:

 

ID:1,Name:beijing
ID:2,Name:shanghai
ID:3,Name:xianggang
ID:4,Name:shenzhen

 原因在于这个JSON对象下标是数字,Chrome根据其下标由小到大对对象个元素重新排了序。

 若把下标改为字符或者将下标删除:

 

<script>
/*
var cities = {
	"b":
		{
			"id":"2","name":"shanghai"
		},
	"a":
		{
			"id":"1","name":"beijing"
		},
	"d":
		{
			"id":"4","name":"shenzhen"
		},
	"c":
		{
			"id":"3","name":"xianggang"
		}
	};
*/
var cities = [
	{
		"id":"2","name":"shanghai"
	},
	{
		"id":"1","name":"beijing"
	},
	{
		"id":"4","name":"shenzhen"
	},
	{
		"id":"3","name":"xianggang"
	}
];

var row;
for(i in cities)
{
	row = "ID:"+cities[i].id+",Name:"+cities[i].name+"<br />";
	document.write(row);
}
</script>

 则各浏览器下结果均为:

 

ID:2,Name:shanghai
ID:1,Name:beijing
ID:4,Name:shenzhen
ID:3,Name:xianggang
 

 

0
0
分享到:
评论

相关推荐

    QUI试用版V3.0 quickui

    框架的所有与数据有关的组件均支持JSON数据,包括表单元素、数据表格、树组件等。 组件的数据获取方式除了前面示例中的url方式,还可以使用data()方法赋值等多种赋值方式,用户可以根据需要选择最适合自己的方式。...

    JQuery zTree

    兼容 IE、FireFox、Chrome 等浏览器(对于IE 6.0的兼容问题将不做特殊维护) 在一个页面内可同时生成多个 Tree 实例 支持 JSON 数据 支持一次性静态生成 和 Ajax异步加载 两种方式 支持多种事件响应及反馈 支持 Tree...

    jquery ztree学习文档

    1、兼容 IE、FireFox、Chrome 等浏览器(对于IE 6.0的兼容问题将不做特殊维护) 2、在一个页面内可同时生成多个 Tree 实例 3、支持 JSON 数据 4、支持一次性静态生成 和 Ajax 异步加载 两种方式 5、支持...

    zTree(JQuery Tree) v3.1.rar

    兼容 IE、FireFox、Chrome 等浏览器(对于IE 6的兼容问题将不做特殊维护) 在一个页面内可同时生成多个 Tree 实例 支持 JSON 数据 支持一次性静态生成 和 Ajax 异步加载 两种方式 支持多种事件响应及反馈 支持 Tree ...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    Json与pickle数据序列化 软件目录结构规范 本周作业 第5周 心灵分享 ATM存钱取钱案例剖析 模块定义、导入、优化详解 内置模块详解之time与datetime模块 内置模块详解之Range模块 内置模块详解之OS模块 内置模块...

    JQuery zTree v3.1

    zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 兼容 IE、FireFox、Chrome 等浏览器(对于IE 6的兼容问题将不做特殊维护) 在一个页面内可同时生成多个 Tree 实例 支持 JSON 数据 支持...

    calendz-api-calendar::tear-off_calendar:节点API,可通过实时剪贴来公开我们的学校议程

    特殊之处在于它不查询任何数据库,而是“废弃”网页并以JSON形式返回所请求的数据的内容。 由于无法访问包含我们日程表的数据库,因此没有比这更好的解决方案了。 此外,此API旨在公开使用,以便允许我们校园中的...

    JQuery zTree v3.5.44

    JQuery zTree特点兼容IE、FireFox、Chrome等浏览器(对于IE 6的兼容问题将不做特殊维护)在一个页面内可同时生成多个Tree实例支持JSON数据支持一次性静态生成和Ajax异步加载两种方式支持多种事件响应及反馈支持Tree...

    OAuth Flows-crx插件

    语言:English 对Oauth和OIDC应用程序进行故障排除并解码JWT令牌 ...它包括一些特殊功能:*所有输出均为JSON格式和颜色编码。 *数据通过导航保留。 *内置JWT令牌解码。 更多功能即将到来。 请发送建议或功能请求。

    基于JQUERY的WEB在线流程图设计器GOOFLOW

    对于后台,只要能返回/接收能被本插件解析的JSON格式数据即可.所以本插件可用于不同的服务器语言建立的后台上.  跨领域:流程图设计器不止用在电信领域,在其它需要IT进行技术支持的领域中都有重大作用.  以下从纯...

    JS 流程图 流程图插件

    对于后台,只要能返回/接收能被本插件解析的JSON格式数据即可.所以本插件可用于不同的服务器语言建立的后台上.  跨领域:流程图设计器不止用在电信领域,在其它需要IT进行技术支持的领域中都有重大作用.  以下从纯...

    chromePhotos

    Chrome照片 添加一名作者 这个 Chrome 扩展允许你在启动屏幕/新标签上显示图片。 这个应用程序主要适用于人际关系中的人。 有一个特殊部分可以输入周年日期。 配置 下载并打开 ZIP 文件。 在地址栏中输入 chrome://...

    PubNub控制台「PubNub Console」-crx插件

    它包括一些特殊功能:*所有输出均为JSON格式和颜色编码。 *可以通过单击“清除输出”来清除频道输出。*如果您的PubNub帐户启用了历史记录,则可以通过单击“前2分钟”在频道中加载前两分钟的消息。 您可以继续单击此...

    JQuery zTree-其他

    &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;zTree特点:&lt;/p&gt;&lt;p&gt;兼容IE、FireFox、Chrome等浏览器(对于IE 6的兼容问题将不做特殊维护)&lt;/p&gt;&lt;p&gt;在一个页面内可同时生成多个Tree实例&lt;/p&gt;&lt;p&gt;支持JSON数据&lt;/p&gt;&lt;p&gt;支持一次性静态生成和Ajax异步加载...

    PubNub Console 2-crx插件

    它包括一些特殊功能:*所有输出均为JSON格式和颜色编码。 *可以通过单击“清除输出”来清除频道输出。*如果您的PubNub帐户启用了历史记录,则可以通过单击“前2分钟”在频道中加载前两分钟的消息。 您可以继续单击此...

    PubNub Console-crx插件

    它包括一些特殊功能: *所有输出都是JSON格式化和颜色编码。 *单击“清除输出”可以清除通道输出 *如果在PubNub帐户上启用了历史记录,请点击“前2分钟”在频道中加载前两分钟的消息。 您可以继续单击此按时回去。 ...

    JQuery zTree源代码

    zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 兼容 IE、FireFox、Chrome 等浏览器(对于IE 6的兼容问题将不做特殊维护)在一个页面内可同时生成多个 Tree 实例支持 JSON 数据支持一次...

    ExtAspNet_v2.3.2_dll

    -不绑定任何数据到Grid时,确保页面不会出错。 -修正了Grid列属性DataFormatString的一个bug,比如设置{0:yy-MM-dd HH:mm}时没有效果。 -修正下拉列表控件不能绑定DataTable的BUG(feedback:RedOcean)。 -增加...

Global site tag (gtag.js) - Google Analytics