2016-05-03 18 views
1
var vString = "{ "var1":"varA", "var2":"varB", "var3":"varC" }"; 

var literalArray = vString; 

console.log(literalArray["var1"]); // = varA 

文字列をリテラル配列に変換するにはどうすればよいですか?文字列をリテラルオブジェクト配列に変換できますか?

+0

その文字列が文法的に間違っている、そしてそれがなかったら*オブジェクト*のJSON表現ですが、*配列*のJSON表現ではありません。 – Pointy

答えて

1

をこれはあなたのために働くだろう...

var string = '{"var1":"varA", "var2":"varB", "var3":"varC" }'; 
 
var objectArray = (new Function("return " + string+ ";")()); 
 
console.log(objectArray.var1);

+0

この方法を使用しているすべての短所? – CPLUSPLUS

+0

@CPLUSPLUS、私はそうは思わない、..これはこの単純な 'string =" 0,1,2 ";'のために働いていて、コンマの '、'から文字列を分割するだけです... –

+0

ありがとうそれは非常に良い動作します! – CPLUSPLUS

2

下記のようにコードを変更します。

var vString = '{ "var1":"varA", "var2":"varB", "var3":"varC" }'; 

var literalArray = vString; 

console.log(JSON.parse(literalArray)["var1"]); 
+0

JSONなしでも可能ですか? – CPLUSPLUS

+0

@CPLUSPLUS no。それは配列ではありません。 – Pointy

+0

@CPLUSPLUSそのために独自の解析関数を記述する必要があるかもしれません。 JSON.parseを使用する際にJavaScriptが組み込まれているので、害はありません。 –

関連する問題