1

この文字列を変換したい:

'[
  ['Row1 of first array', 'Row2 of first array'],
  ['Row1 of 2nd array', 'Row2 of 2nd array']  
]'

1 つの次元と 2 つの項目の 3 つの配列を持つ配列に。

私の予想される出力は、2 つの要素を持つ配列です。

  • 配列 1
  • アレイ 2

そして、すべての配列には内部に 2 つの要素があります。

この変換を行う Jquery はありますか?

4

2 に答える 2

3

これは有効な文字列ではありません。単一引用符の中に単一引用符をネストしています。ただし、内部に二重引用符を使用して文字列を変換すると、次のようになります。

str = '[  ["Row1 of first array", "Row2 of first array"],  ["Row1 of 2nd array", "Row2 of 2nd array"]  ]'

次に、JSON オブジェクトとして単純に解析できます。

arr = $.parseJSON(str); // returns a two-dimensional array

これは、 を使用するよりもはるかに安全です。これはeval、文字列の内容が正確にわかっている場合にのみ実行する必要があります。また、その場合でも、怠惰な開発者の兆候です。を使用するparseJSONと、完了時にオブジェクトまたは配列のいずれかを取得していることがわかります。 を使用するevalと、何かが起こる可能性があります。

于 2012-11-19T14:06:33.103 に答える
-3

私はevalが機能すると思います:

var str = eval("[['Row1 of first array', 'Row2 of first array'],['Row1 of 2nd array', 'Row2 of 2nd array']]");

console.log(str);

</ p>

于 2012-11-19T14:07:07.597 に答える