祝大家有美好的一天,
我遇到了一个似乎只发生在 Chrome 中的令人沮丧的问题。
var response = '{"01":"January","02":"February"}',
months = JSON.parse(response);
console.log(months['02']) // undefined in Chrome (my version is 24.0.1312.5 beta)
console.log(months[2]) // "February"
Firefox 和 Safari 似乎可以按预期处理此问题,而 Chrome 将字符串式 JSON 键转换为整数。
jQuery 的 parseJSON 方法具有相同的行为(我假设它依赖于浏览器的 JSON.parse 方法)。
我完全受制于这种特定的 API 响应格式,所以我宁愿不更改服务器的响应。有没有一种健全的方法可以强制 Chrome 按预期运行?