[英]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.