【发布时间】:2016-10-19 00:48:26
【问题描述】:
我的 lambda 代码 sn-p 是
dynamodb.query( params
, function(err, data) {
if (err) {
context.done(err);
}
else {
console.log(JSON.stringify(data)); // successful response
var size = data.Items.length;
console.log("size:"+ size);
var rand = Math.floor(Math.random() * (size));
console.log("rand" + rand);
var ret = data.Items[rand].content;
console.log(ret);
context.succeed(JSON.stringify(ret));
}
我的 AWS Lambda 日志 ("console.log(JSON.stringify(data)); // 成功响应") 是
{"Items":[{"content":{"S":"content1"}},{"content":{"S":"content2"}}],"Count":2,"ScannedCount":2}
“JSON.stringify(ret)”的结果是
{"S":"content1"}
在我的 Android 代码中,调用此 API 并显示结果。 但它只显示“java.lang.String 无法转换为 JSONObject”
我想知道如何在Android中转换为JSONObject。
我在 Android 中使用了这段代码
new JSONObject(notice).getJSONObject("S");
【问题讨论】:
-
通过调试仔细检查您的
notice变量。当存在语法问题时,通常会抛出“无法转换”错误。 -
嗨@donkon 通知变量实际上是 "{"S":"content1"}" 。它没有错。所以这让我发疯。我应该做什么检查更多?
标签: json node.js amazon-web-services amazon-dynamodb aws-lambda