`

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
分享到:
评论

相关推荐

    Chrom进行显示JSON数据

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端交互,而Chrome作为一款流行的浏览器,提供了多种方法来查看和处理JSON数据。对于Java后端开发者而言,理解并掌握如何在Chrome中...

    echarts map地图完整json数据

    综上所述,“echarts map地图完整json数据”涉及到的知识点包括ECharts地图图表的使用、JSON数据结构的理解、中国地图数据的解析、数据与地图的绑定以及地图的动态效果实现等。掌握这些知识能帮助开发者高效地利用...

    chrome 常用插件 jsonview 翻译插件 charset插件

    当我们需要查看网页中的JSON数据时,如果没有合适的工具,原始数据通常以难以阅读的文本形式显示。JSONView则能将这些数据转换成清晰、易读的树形结构,便于快速理解和分析。用户可以折叠或展开节点,高亮显示键值对...

    JsonView.zip

    JSONView是一款实用的工具,专门设计来帮助开发者更有效地查看、解析和处理JSON数据。 在开发过程中,我们经常会遇到JSON格式的字符串,这些字符串可能来自于API接口的返回结果、日志文件或任何需要数据交换的场景...

    Chrome Header Editor 插件

    配置文件可能包括对特定网站的特殊处理,比如针对谷歌的CAPTCHA解决方案。用户需要具备一定的网络协议知识,了解HTTP头的工作原理,才能有效利用这些配置。 安装Chrome Header Editor插件的过程相对简单,用户只需...

    字符串转换成json 的三种方式

    在JavaScript编程中,将字符串转换为JSON对象是一个常见的任务,特别是在处理服务器与客户端之间的数据交换时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但...

    沉浸式翻译chrome插件 0.4.2版本

    5. manifest.json:这是每个Chrome插件必不可少的文件,它包含了插件的元数据(如版本号、名称、描述)、权限要求以及各组件之间的关联。 6. rules:这部分可能包含了一些规则或配置,比如触发翻译的条件,或者特定...

    调试vue3 开发的 chrome 插件

    这个目录通常包含了插件的manifest.json文件和其他源代码文件,可以通过Chrome的“加载已解压的扩展程序”功能进行加载,这样就能在浏览器内直接编辑和测试插件,方便调试。 在调试Vue3 Chrome插件时,开发者需要...

    chrome插件开发文档

    JS 虽然越来越牛叉了,但毕竟存在局限性,有些处理目前用 JS 来做毕竟还不现实,比如视频插件、大数据计算等,这类处理大部分还是会通过 C++ 等语言封装的组件来实现的,那么在 JS 的插件里怎么调用这些 C++ 的组件...

    Chrome扩展及应用开发.pdf

    - `manifest.json` 文件是每个Chrome扩展的核心配置文件,用于声明扩展的基本信息(如名称、版本)、权限需求、后台脚本等。 - 通常包含以下字段:`name`、`version`、`description`、`manifest_version`、`...

    chrome 插件下载

    manifest.json是每个Chrome插件的核心,它定义了插件的元数据、权限、功能和运行方式。 "Chrome Sniffer"这个插件可能是一个网络嗅探工具,帮助用户检测和分析网页上的各种技术栈,如JavaScript库、框架、字体和...

    chrome插件示例,用于存储离线文档

    对于较大的文件,如PDF或Office文档,可能需要特殊的处理,例如使用PDF.js库来渲染PDF。 此外,这个插件可能还会集成到浏览器的上下文菜单或工具栏,以便用户可以方便快捷地保存和访问文档。通过`chrome.context...

    chrome 常用插件 crx文件

    Chrome浏览器是许多用户和开发者首选的网络浏览工具,它的强大之处在于其丰富的扩展插件生态。CRX文件是Chrome浏览器扩展程序的一种打包格式,用于分发和安装这些插件。在本篇中,我们将深入探讨Chrome插件以及如何...

    chrome绿色版制作方法

    4. **修改manifest.json**:在解压出的"Application"文件夹内,打开"manifest.json"文件,将所有出现的"Local State"替换为"First Run",这是让Chrome绿色版使用本地文件存储配置的关键。 5. **创建快捷方式**:返回...

    chrome看股票的插件,上班方便炒股

    3. `manifest.json`:这是Chrome扩展程序的配置文件,包含了插件的元数据,如名称、版本、权限、图标等,以及它如何与其他Chrome组件交互的定义。 4. `images`:这个文件夹可能包含插件所需的图片资源,如图标、提示...

    chrome调用ocx.rar

    1. **CRX扩展文件**:这是一个特殊的ZIP文件,包含了扩展的所有资源,如JavaScript、CSS、HTML和图片,以及manifest.json文件,该文件描述了扩展的元数据和权限。 2. **ActiveX控件**:这可能是一个DLL文件,包含了...

    Node.js-Webscraper是一个基于headlesschrome和serverless框架的Web爬虫

    总的来说,Node.js-Webscraper结合了headless Chrome的强大渲染能力、serverless架构的弹性扩展性和Node.js的高性能特性,为开发者提供了一个强大的工具来抓取和处理Web数据。无论是用于数据分析、市场研究还是自动...

    chrome隐藏leetcode上锁题目js插件

    1. **manifest.json**:这是每个Chrome扩展的核心配置文件,它包含了插件的元数据(如名称、版本、权限等)以及插件运行的脚本和文件引用。 2. **Content Scripts**:Chrome插件可以注入内容脚本到网页中运行,它们...

    前端开源库-pagetojson

    5. **定制化配置**:可能提供配置选项,允许开发者自定义转换规则,比如忽略某些元素,或者对特定元素进行特殊处理。 6. **性能优化**:考虑到HTML页面可能很大, Pagetojson可能做了性能优化,如流式处理或分块...

Global site tag (gtag.js) - Google Analytics