1

json文字列に角かっこのみを含めることは可能ですか?例::

[["state","accepted"],["r_by_uid",1]]

その文字列を解析すると、予期しない文字エラーが発生します...(このスクリプトで作業してから長い間、以前は機能したと思います)。

json文字列を解析すると、常に文字列からオブジェクトが作成されますか?または、文字列を配列に解析することは可能ですか?

基本的に、私は文字列をオブジェクトではなく配列に解析したいだけです。
いくつかの例をグーグルで検索しましたが、角かっこのみを使用している例は見つかりませんでした。

ここで要求されているのは、json文字列を保持するタグです。

<button data-fproc='[["state","accepted"],["r_by_uid","1"]]' class="request_state_button">
4

2 に答える 2

3

中括弧は厳密には必要ありません。

[["state","accepted"],["r_by_uid",1]]有効なJSONです。

JSONテキストは、オブジェクトまたは配列にすることができます。

http://json.org/およびhttps://www.ietf.org/rfc/rfc4627.txtのJSON文法セクションを参照してください。

JSONはhttp://jsonlint.com/で検証できます


JavascriptではJSON.parse()、配列を返します。

JSON.parse('[["state","accepted"],["r_by_uid",1]]')
// result [["state", "accepted"], ["r_by_uid", 1]]

配列もJavascriptのオブジェクトであることに注意してください。

それも動作しjQuery.parseJSON()ます:

jQuery.parseJSON('[["state","accepted"],["r_by_uid",1]]')
// result [["state", "accepted"], ["r_by_uid", 1]]
于 2012-07-10T13:39:01.660 に答える
1

おそらくこれはあなたの問題を説明するでしょう:

 var aAsArray = [["state","accepted"],["r_by_uid",1]];
 var aAsString = '[["state","accepted"],["r_by_uid",1]]';

 ​JSON.parse(aAsArray);​​​    //Uncaught SyntaxError: Unexpected token ....
 JSON.parse(aAsString);
于 2012-07-10T13:41:42.580 に答える