2013-12-17 95 views
-5

夥計們,DynamoDB調用返回一個JSON對象,我想解析,並獲取密碼哈希場的JavaScript解析JSON字符串

jsonString = JSON.stringify(data) 
console.log(jsonString) 

輸出:

{"Count":1,"Items":[{"token":{"S":"token"},"uid":{"S":"33c02130-66b5-11e3-bdb0-7d9889f293b5"},"password":{"S":"$2a$10$ervzJ.DWjHOXRtJSugTaWuquI2OvPLyipa4YXecc/2KdQnmhrHxr6"},"username":{"S":"foo"},"plate":{"S":"dinner"},"name":{"S":"Test Name"},"server":{"S":"bar"}}]} 

我將如何解析這個字符串,並檢索'密碼'字段? 下面的代碼不起作用:

console.log(jsonString.password) 
console.log(jsonString.uid) 

下返回未定義:

console.log(data.password); 

謝謝!

+0

@PSL可惜就是不工作,我回來 '未定義' – Cmag

+3

'data.Items [0] .password'? – Clive

+0

@ Clive,靠近! {S:'$ 2a $ 10 $ ervzJ.DWjHOXRtJSugTaWuquI2OvPLyipa4YXecc/2KdQnmhrHxr6'} – Cmag

回答

1

這已經是一個對象,所以你可以這樣做:

var str = {"Count":1,"Items":[{"token":{"S":"token"},"uid":{"S":"33c02130-66b5-11e3-bdb0-7d9889f293b5"},"password":{"S":"$2a$10$ervzJ.DWjHOXRtJSugTaWuquI2OvPLyipa4YXecc/2KdQnmhrHxr6"},"username":{"S":"foo"},"plate":{"S":"dinner"},"name":{"S":"Test Name"},"server":{"S":"bar"}}]}; 

alert(str.Items[0].password.S); 
+1

不完全。雖然你的例子有效,但它歪曲了實際發生的事情。他的'data',就像你的'str'不是一個字符串,而是一個對象。他的'data'對象在發佈時不應該'stringify''d,而只是照原樣使用。像這樣:'data.Items [0] .password.S'。 –