2017-03-16 27 views
1

我是JavaScript新手。我使用org.json庫在Java中完成了類似的需求。在javascript中訪問JSONArrays

我有一個字符串:

var string = "{\"id\" :[\"\"],\"State\" :[\"TX\",\"IA\"]}"; 

我將使用這個該字符串一個JSONObject:

var obj = JSON.parse(string); 

我試圖做到這一點使用JavaScript或jQuery的。如何獲取此JSONObject中的JSONArrays。請幫幫我。提前致謝。

+1

麗陽喜。但我試圖用JavaScript來實現這一點。你還認爲我需要添加java標籤嗎?請讓我知道我會添加,如果它有幫助。 – user7637864

+0

我看錯了。您已經使用'JSON.parse'實現了它,還有什麼可以實現的? – Rayon

+3

你只是做'obj.id',你已經有了數組。或者'obj.id.length'的長度(這裏應該是1) – Ivan

回答

2
var jsonStr = "{\"id\" :[\"\"],\"State\" :[\"TX\",\"IA\"]}"; 
var jsonObj = JSON.parse(jsonStr); 

idArr=jsonObj.id; 
stateArr=jsonObj.State; 

idArr.forEach(function(id) { 
    console.log(id); 
}); 
stateArr.forEach(function(state) { 
    console.log(state); 
}) 

希望這將幫助你

+0

但idArr.length給我1.這不應該是這樣的權利? – user7637864

+2

idArr是一個字符串數組,它的第0個索引中包含一個空字符串,這就是爲什麼idArr.length是1 –

+0

您可以讓我知道如何擺脫空字符串。我試過(obj.id.isEmpty())檢查。但它不工作。 @傑克遜嬰兒 – user7637864

0

所以一旦你得到了對象,你必須得到你想要執行迭代的數組字段。對於防爆,如果你想遍歷狀態,檢查下面:


for (var i=0;i<obj.State.length;i++) 
         { 
          obj.State[i] ; 
         } 

難道這就是你要找的人?如果不是,那麼請更清楚。

1

您可以使用jQuery 提到的jQuery的嘗試:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

代碼或腳本

var obj = $.parseJSON('{\"id\" :[\"dddd\"],\"State\" :[\"TX\",\"IA\"]}'); 
console.log(obj.id); 
+0

感謝您的回覆@arjun。 – user7637864