将 JSON 转换为具有自定义键和值的对象数组

Convert JSON to array of objects with custom keys and values

本文关键字:键和值 对象 数组 自定义 JSON 转换      更新时间:2023-09-26

我从服务器收到一个JSON字符串:

{0:["aNumber","aText","anID"],1:["aNumber","aText","anID"].. .

我必须详细说明此字符串,以便:

  1. aNumber 与客户端字符串连接(例如,它变为"http://www.myurl.com/aNumber.jpg");
  2. aNumber 成为对象数组中 url 的值;
  3. aText 成为同一数组中标题的值;
  4. anID 成为同一数组中 id 的值;

    [{url:"http://www.myurl.com/aNumber.jpg",caption:"aText",id:"anID}.{url:"http://www.myurl.com/aNumber.jpg",caption:"aText",id:"anID"}...

我完全知道如何做到这一点,但我想知道是否有人知道是否有人知道是否可以做同样的事情避免循环:JSON 在移动环境中真的很大(超过 10000 个项目),所以我希望用一些神奇的东西来提高性能。

尝试在移动环境中循环浏览 10,000 个项目。然后尝试 100,000,然后尝试 1,000,000。您可能会发现循环并不是最大的性能瓶颈。

你真的不能这样做,这里最好的解决方案是只在需要时转换对象中的一个特定子数组。

无论如何,循环执行起来并不长,最长的是解析 JSON 字符串>对象。

对于您的循环,我会制作类似的东西:

obj=JSON.parse({0:["aNumber","aText","anID"],1:["aNumber","aText","anID"]});
arr=[];
for(i in obj){
  o=obj[i]; // improve performances on big objects
  arr.push({url: "http://www.myurl.com/"+ o[0] + ".jpg", caption:o[1], id:o[2]});
}