如何将数据从 AWS lambda node.js 转换为 Java 中的 JSONObject
How to convert data from AWS lambda node.js to JSONObject in Java
我的 lambda 代码片段是
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));
}
我的 ("console.log(JSON.stringify(data)); // successful response") 的 AWS Lambda 日志是
{"Items":[{"content":{"S":"content1"}},{"content":{"S":"content2"}}],"Count":2,"ScannedCount":2}
"JSON.stringify(ret)" 的结果是
{"S":"content1"}
在我的 Android 代码中,调用此 API 并仅显示结果。
但它只显示 "java.lang.String cannot be converted to JSONObject"
我想知道如何在 Android 中转换为 JSONObject。
我在Android
中使用了这段代码
new JSONObject(notice).getJSONObject("S");
问题是您正在调用 getJSONObject
。您得到的对象是 String
.
{"S":"content1"}
^JSON ^String
你应该打电话给 get
JSONObject jsonNotice = new JSONObject("{\"S\":\"hello, world\"}");
String contentsOfS = jsonNotice.get("S");
方法 getJSONObject
适用于嵌套 JSON 个对象:
{"S": {"foo": "bar"}}
^JSON ^JSON
我的 lambda 代码片段是
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));
}
我的 ("console.log(JSON.stringify(data)); // successful response") 的 AWS Lambda 日志是
{"Items":[{"content":{"S":"content1"}},{"content":{"S":"content2"}}],"Count":2,"ScannedCount":2}
"JSON.stringify(ret)" 的结果是
{"S":"content1"}
在我的 Android 代码中,调用此 API 并仅显示结果。 但它只显示 "java.lang.String cannot be converted to JSONObject"
我想知道如何在 Android 中转换为 JSONObject。
我在Android
中使用了这段代码new JSONObject(notice).getJSONObject("S");
问题是您正在调用 getJSONObject
。您得到的对象是 String
.
{"S":"content1"}
^JSON ^String
你应该打电话给 get
JSONObject jsonNotice = new JSONObject("{\"S\":\"hello, world\"}");
String contentsOfS = jsonNotice.get("S");
方法 getJSONObject
适用于嵌套 JSON 个对象:
{"S": {"foo": "bar"}}
^JSON ^JSON