[英]Accessing JSON parsed object
所以這是我的JS代碼:
$(document).ready(function() {
$.ajax({
url: "/",
type:"POST",
beforeSend: function (xhr) {
var token = $('meta[name="csrf_token"]').attr('content');
if (token) {
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
}
},
success:function(data){
console.log(data);
},error:function(){
console.log("error!!!!");
}
});
});
這就是我在控制台中得到的:
Object { all_creations: "[{"id":"2","user_id":"2","title":"D…" }
但是現在我想做些類似的事情:
console.log(data.user_id)
但這什么也沒有返回。
相同於:
console.log(data['all_creations'].user_id)
console.log(data['all_creations'][0].user_id)
console.log(data[0].user_id)
...
我正在使用laravel5 btw,此JSON對象由toJson()函數返回。 (如果有幫助)
我知道這個問題已經被解答了無數次,但是由於某種原因,我無法在我的項目中使用該問題……我不是Java語言或與之相關的任何專家(例如JSON)。 Ajax,JSON對我而言仍然是痛苦之源。 我希望有一天...認真的^^
我覺得您最好的選擇是在Chrome中對其進行測試,然后使用F12開發人員工具查看服務器返回的內容。 也許檢查“網絡”選項卡中的請求,或者嘗試找出在控制台中檢索user_id的正確方法。
如果感到困惑,請看一些F12 Chrome開發人員工具教程。
如果有的話,這是如何訪問數據的粗略指南:
Object { all_creations: "[{"id":"2","user_id":"2","title":"D…" }
^^^^^^^^ ^
標記的區域表示data
是標准對象,因此已經被解析。
Object { all_creations: "[{"id":"2","user_id":"2","title":"D…" }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
內部部分說data.all_creations
是一個包含字符串值的屬性。
Object { all_creations: "[{"id":"2","user_id":"2","title":"D…" }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
字符串值本身似乎包含JSON編碼的值,因此您首先需要解析該值:
var creations = JSON.parse(data.all_creations);
然后,從字符串值中可以看到它包含一個以對象作為第一個元素的數組。
alert(creations[0].user_id) // 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.