簡體   English   中英

在JavaScript中將數組有效地映射到字符串

[英]Mapping arrays to strings efficiently in JavaScript

我想使用AJAX加載數據而不將其格式化為JSON,所以我自己對其進行了編碼。

數據是客戶記錄:井號( # )分隔客戶記錄,管道符號( | )分隔客戶數據的字段,而克拉符號( ^ )將字段名稱與該字段的值分隔。

所以,我有這樣的東西(簡體):

name^James|email^somemail@gmail.com#name^Bary|email^bary@bary.com#...

當將這些數據加載到Javascript中時,我想使其成為二維數組,如下所示:

clients = [
['name'=>'James','email'=>'somemail@gmail.com'],
['name'=>'Bary','email'=>bary@bary.com]
]

...或者對象格式的東西。 如何做到最好?

請注意,您不能在鍵或值中使用特殊字符(|,^,#)。 如果決定對其進行編碼,則可能可以使用JSON。 所以我真的推薦JSON,這樣您就不必自己做任何事情。

如果您決定不支持包含(|,^,#)的鍵和值,則可以使用javascript拆分功能。 這樣的事情(我還沒有運行):

var output=[];
var clients = input.split("#");

for (var client in clients)
{
  var outputClient={}
  var clientProps = client.split('|');
  for (var propPair in clientProps)
  {
     var propPairVal = propPair.split('^');
     outputClient[propPairVal[0]] = propPairVal[1];  
  }
  output.push(outputClient);
}

但是,我確實推薦JSON。 它將更加靈活並且不易出錯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM