Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
Android 使用动态字段反序列化JSON_Android_Json - Fatal编程技术网

Android 使用动态字段反序列化JSON

Android 使用动态字段反序列化JSON,android,json,Android,Json,我正在使用Android上的改型从API加载JSON,其中包含一个完全动态的字段 这是一个例子: { "success": true, "messages": { "success": [ "SUCCESS_MESSAGE" ], "error": { "specific_error": { … } } }

我正在使用Android上的改型从API加载JSON,其中包含一个完全动态的字段

这是一个例子:

{
    "success": true,
    "messages": {
        "success": [
            "SUCCESS_MESSAGE"
        ],
        "error": {
            "specific_error": {
                …
            }
        }
    },
    "session": {
        "id": "fj4qewqrewq43fdsa",
        "expire": null,
        "YII_CSRF_TOKEN": "fda432fdafasd78978fdas"
    },
    "metadata": {…}
}
messages对象的结构可以随每个请求而更改。有时有成功的领域,有时没有。错误字段也是如此。错误字段尤其可以是一个数组,也可以是一个包含多个其他对象和字段的对象


将messages字段反序列化为不同的POJO是否有意义?如果有,我将如何做?将字段保留为JSON对象并在需要时从对象获取值是否更有意义?

只需反序列化到同一对象中即可。然后检查
成功
错误
是否为空。你的评论让我以不同的方式思考它。我想我已经找到了一种方法来获得我需要的东西,而不必为API在
error
字段中抛出的每个可能的结构编写自定义反序列化程序。