java - 将动态 JSON 字符串转换为 HashMap

标签 java json json-deserialization

我有一个带有一些动态属性的 JSONObject,我想将其转换为一个类,我已经尝试了很多示例,但没有解决方案。

我的 json 字符串看起来像这样

{
"result": {
    "account": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q",
    "assets": {
        "r9F6wk8HkXrgYWoJ7fsv4VrUBVoqDVtzkH": [
            {
                "currency": "BTC",
                "value": "5444166510000000e-26"
            }
        ],
        "rPFLkxQk6xUGdGYEykqe7PR25Gr7mLHDc8": [
            {
                "currency": "EUR",
                "value": "4000000000000000e-27"
            }
        ],
        "rPU6VbckqCLW4kb51CWqZdxvYyQrQVsnSj": [
            {
                "currency": "BTC",
                "value": "1029900000000000e-26"
            }
        ],
        "rpR95n1iFkTqpoy1e878f4Z1pVHVtWKMNQ": [
            {
                "currency": "BTC",
                "value": "4000000000000000e-30"
            }
        ],
        "rwmUaXsWtXU4Z843xSYwgt1is97bgY8yj6": [
            {
                "currency": "BTC",
                "value": "8700000000000000e-30"
            }
        ]
    },
    "balances": {
        "rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ": [
            {
                "currency": "EUR",
                "value": "29826.1965999999"
            }
        ],
        "ra7JkEzrgeKHdzKgo4EUUVBnxggY4z37kt": [
            {
                "currency": "USD",
                "value": "13857.70416"
            }
        ]
    },
    "ledger_hash": "980FECF48CA4BFDEC896692C31A50D484BDFE865EC101B00259C413AA3DBD672",
    "ledger_index": 14483212,
    "obligations": {
        "BTC": "5908.324927635318",
        "EUR": "992471.7419793958",
        "GBP": "4991.38706013193",
        "USD": "1997134.20229482"
    },
    "status": "success",
    "validated": true
}
}

我可以使用 json.org 或 ObjectMapper 中的某些内容吗?

唯一给我带来问题的是 Assets 和余额,我将感谢所有正确方向的帮助

最佳答案

您应该能够将其反序列化为如下类:

public class Response {
    private Result result;
}

public class Result {
    private String account;
    private Map<String, List<Asset>> assets;
    private Map<String, List<Asset>> balances;
    private String ledger_hash;
    private String ledger_index;
    private Map<String, String> obligations;
    private String status;
    private boolean validated;
}

public class Asset {
    private String currency;
    private String value;
}

关于java - 将动态 JSON 字符串转换为 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42694294/

相关文章:

java - Linux 和 java : File is being created but text is not written

Python:将字典列表转换为 json

jquery - Spring JSON 和 406 HTTP 错误

c# - 反序列化有时是 int 值的 json 对象

java - Json同名序列化和反序列化

java - 使用 Jackson 自定义反序列化 JSON 字段

java - JPA - 级联和孤儿移除是否多余

Java - JTextField - 当用户按下 "space bar"时调用函数

javascript - 在 Java 7 上运行符合 ECMAScript 5 的 javascript

PHP输出json