1

JSON形式にせずにAJAXでデータを読み込みたいので、自分でエンコードしました。

データはクライアント レコードです。ポンド記号 ( #) はクライアント レコードを区切り、パイプ記号 ( |) はクライアント データのフィールドを区切り、カラット記号 ( ^) はフィールド名とそのフィールドの値を区切ります。

だから、私はこのようなものを持っています(簡略化):

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

このデータを Javascript にロードするときに、次のように 2 次元配列にしたいと考えています。

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

...または、オブジェクト形式の何か。これを行うにはどうすればよいですか?

4

1 に答える 1

0

キーまたは値に特殊文字 (|、^、#) を使用できないことに注意してください。それらをエンコードする場合は、おそらく 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 を強くお勧めします。はるかに柔軟になり、バグが発生しにくくなります。

于 2013-04-17T01:50:51.537 に答える