2017-07-31 315 views
-3

如何從此JSON字符串中獲取特定值。我想獲得嵌套的嵌套JSON對象"FromUserId": "bd079f57"並將其傳遞給Javascript函數。如何從JSON字符串中讀取特定字符串對象

"notification":{ 
     "title" :"Test", 
     "message" : "Message", 
      "android": { 
       "data": { 
         "priority": "2", 
         "profile": "profile", 
         "message": "xxx has sent you a Message.", 
         "style": "inbox", 
         "noteId": "1", 
         "visibility": "1", 
         "title": "Test", 
         "badge": "12",     
         "FromUserId": "bd079f57"        
         } 
        } 
       } 



"onNotification": function (notification) {   
         var obj = JSON.parse(notification.message.android.data.FromUserId); 
         // How to pass this test.FromUserId to ReadData function.      
         ReadData(obj) 
        } 
$scope.ReadData(obj){ 
//further process of json 
} 
+0

VAR OBJ = JSON.parse(試驗); ReadData(test.notification.android.data.FromUserId); 雖然我不是100%確定你的json是有效的,但我認爲它並不像上面那樣。 –

+1

你收到字符串了嗎?如果是,然後解析它像'JSON.prase(_your_json)',然後'notification.android.data.FromUserId'? – Rahul

+0

JSON.parse(notification.FromUserId)應該是JSON.parse(通知) – james

回答

0

你可以象下面這樣:

"onNotification": function (notification) {   
         var test = JSON.parse(notification); 
         var obj= test.notification.message.android.data.FromUserId; 
         // How to pass this test.FromUserId to ReadData function.      
         ReadData(obj) 
        } 
$scope.ReadData(obj){ 
//further process of json 
} 
+0

downvoter請說明理由 – Rahul

1

JSON.stringify一個JavaScript數據結構轉換爲

test.FromUserId屬性以讀取FromUserId屬性對象

目前尚不清楚輸入到你的功能是什麼,但你需要:

  1. (如果您傳遞的對象):完全忘記JSON。刪除所有與JSON相關的功能。
  2. (如果您傳遞的是JSON字符串):僅使用JSON.parse,僅在notification上使用它。

然後您需要通過訪問您的數據結構的每個層。您不能忽略頂層和數據之間的所有對象。

即您需要notification.message.android.data.FromUserId而不是test.FromUserId

(在情況2中,將notification替換爲test,但您仍然需要明確地訪問message.android.data圖層)。

+0

'test.FromUserId'將會是'undefined',因爲'test'是一個字符串。 – George

+0

@George - 如果遵循此答案中的說明,'test'不會是字符串。 – Quentin