let jsonStr=`{"aaa":111,"bbb":222}`;
let json=JSON.parse(jsonStr);//循环时希望保持这个顺序
let keys=Object.keys(json);//javascript里的对象是一个无序hash结构,这是语言规范和浏览器决定的,我们无法违背,Object.keys拿到的顺序是乱的。
if(!Array.isArray(json)){//json数组本身就是保持顺序的,不用处理,这里只处理json对象
	keys.sort(function(a,b){
		let idx1=jsonStr.indexOf("\""+a+"\"");//只判断标准的双引号形式的json-key
		let idx2=jsonStr.indexOf("\""+b+"\"");//只判断标准的双引号形式的json-key
		return idx1-idx2;//index小的排前面
	});
}

for (const key of keys) {//这时候循环的就是字符串里的顺序
	let value=json[key];
}
			
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 2 个月前
8c391e04 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐