2012-07-10 24 views
1

json字符串可能僅包含方括號嗎?例如。 :JSON數組語法。花括號(對象語法)是否嚴格必要?

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

我從解析該字符串...得到意想不到的字符錯誤(很長一段時間,因爲我對這個劇本的工作,我認爲這工作之前)。

解析json字符串會不會使字符串中的對象?或者有可能將字符串解析成數組?

基本上我只是想將字符串解析成數組而不是對象。
我搜索了一些例子,但沒有找到任何只使用方括號的例子。

由於這裏要求是保存JSON字符串標籤:

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

粘貼HTML ' – Esailija 2012-07-10 13:48:03

+0

@Esailija there you go ... – Tudor 2012-07-10 13:55:43

+0

Works fine here http://jsfiddle.net/7ARmP/1/查看任何可能的差異,例如當元素不存在時調用'.attr' – Esailija 2012-07-10 13:57:08

回答

3

花括號是不是絕對必要的。

[["state","accepted"],["r_by_uid",1]]是有效的JSON。

JSON文本可以是對象或數組。

http://json.org/https://www.ietf.org/rfc/rfc4627.txt

JSON語法部分,您可以在http://jsonlint.com/


在Javascript中驗證您的JSON,JSON.parse()返回數組:

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

注意數組也是J中的對象avascript。

它與jQuery.parseJSON()太:

jQuery.parseJSON('[["state","accepted"],["r_by_uid",1]]') 
// result [["state", "accepted"], ["r_by_uid", 1]] 
+0

但我得到JSON.parse:意外的字符錯誤,我不知道爲什麼。使用jquery函數進行分析 – Tudor 2012-07-10 13:41:51

+0

它也適用於jQuery.parseJSON()。你打電話過得怎麼樣? – arnaud576875 2012-07-10 13:44:08

+0

$ .parseJSON($(this).attr('data-fproc')),da-fproc是問題中的json字符串,從html源文件複製 – Tudor 2012-07-10 13:46:46

1

也許這說明您的問題:`數據fproc = 「榜樣」:因爲它出現在查看源代碼,像

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);