如何从JSON字符串中读取特定字符串对象
问题描述:
如何从此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
}
答
你可以象下面这样:
"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
答
JSON.stringify
一个JavaScript数据结构转换为串。
test.FromUserId
属性以读取FromUserId
属性对象。
目前尚不清楚输入到你的功能是什么,但你需要:
- (如果您传递的对象):完全忘记JSON。删除所有与JSON相关的功能。 或
- (如果您传递的是JSON字符串):仅使用
JSON.parse
,仅在notification
上使用它。
然后您需要通过访问您的数据结构的每个层。您不能忽略顶层和数据之间的所有对象。
即您需要notification.message.android.data.FromUserId
而不是test.FromUserId
。
(在情况2中,将notification
替换为test
,但您仍然需要明确地访问message.android.data
图层)。
VAR OBJ = JSON.parse(试验); ReadData(test.notification.android.data.FromUserId); 虽然我不是100%确定你的json是有效的,但我认为它并不像上面那样。 –
你收到字符串了吗?如果是,然后解析它像'JSON.prase(_your_json)',然后'notification.android.data.FromUserId'? – Rahul
JSON.parse(notification.FromUserId)应该是JSON.parse(通知) – james