Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从AmazonAPI网关的API将DynamoDB数据解析到Android中?_Android_Json_Parsing_Amazon Dynamodb_Aws Api Gateway - Fatal编程技术网

如何从AmazonAPI网关的API将DynamoDB数据解析到Android中?

如何从AmazonAPI网关的API将DynamoDB数据解析到Android中?,android,json,parsing,amazon-dynamodb,aws-api-gateway,Android,Json,Parsing,Amazon Dynamodb,Aws Api Gateway,我的代码——我正在尝试从JSON返回数据 JSONObject count = new JSONObject(finalJson); JSONArray itemsArray = count.getJSONArray("Items"); JSONObject finalObject = itemsArray.getJSONObject(0); String record = finalObject.g

我的代码——我正在尝试从JSON返回数据

JSONObject count = new JSONObject(finalJson);
                JSONArray itemsArray = count.getJSONArray("Items");
                JSONObject finalObject = itemsArray.getJSONObject(0);
                String record = finalObject.getString("myid");
                String vocabulary = finalObject.getString("vocab");
                String method = finalObject.getString("method");

                return record + vocabulary + method;
JSON我正在尝试解析-Count对象、Items数组等等

{ 

   "Count":1,

   "Items":[   
      { 
        "myid":{

            "S":"1"
         },
         "vocab":{   
            "S":"print a line"
         },
         "method":{  
            "S":"system.out.println"
         }
      }
   ],
   "ScannedCount":1

如果存在固定模式,则可以通过API网关上的映射模板将DynamoDB JSON传输到JSON

映射模板

#set($inputRoot = $input.path('$'))
{
    "items": [
        #foreach($elem in $inputRoot.Items) {
            "myid": "$elem.myid.S",
            "vocab": "$elem.vocab.S",
            "method": "$elem.method.S"
        }#if($foreach.hasNext),#end
    #end
    ]
}
public class Items {
    private List<Item> items;
    //getters and setters
}

public class Item {
    private String myid;
    private String vocab;
    private String message;
    //getters and setters
}

Items items;

ObjectMapper mapper = new ObjectMapper();
jsonData = .... // from API Gateway
items = mapper.readValue(jsonData, Items.class);
然后,您可以将Android应用程序中API网关的JSON字符串解析为一个对象

示例解析代码

#set($inputRoot = $input.path('$'))
{
    "items": [
        #foreach($elem in $inputRoot.Items) {
            "myid": "$elem.myid.S",
            "vocab": "$elem.vocab.S",
            "method": "$elem.method.S"
        }#if($foreach.hasNext),#end
    #end
    ]
}
public class Items {
    private List<Item> items;
    //getters and setters
}

public class Item {
    private String myid;
    private String vocab;
    private String message;
    //getters and setters
}

Items items;

ObjectMapper mapper = new ObjectMapper();
jsonData = .... // from API Gateway
items = mapper.readValue(jsonData, Items.class);

如果您想了解有关如何映射响应工作的更多详细信息,您可能需要阅读,以及

您想要返回什么?我正在尝试返回ID记录1、打印一行和system.out.println。谢谢你的帮助!未正确理解,请粘贴您的例外输出以及您得到的输出。。