Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
163 views
in Technique[技术] by (71.8m points)

android - Convert JSON to POJO with different data type

I have this response, i have problem when i want to convert to pojo.

"equity": {
            "0": {
                "name": [
                    "Abc"
                ],
                "code": [
                    "3410"
                ],
                "ending_balance": [
                    301834470
                ]
            },
            "1": {
                "name": [
                    "Xyz"
                ],
                "code": [
                    "2180"
                ],
                "ending_balance": [
                    0
                ]
            },
            "2": {
                "name": [
                    "Pqr"
                ],
                "code": [
                    "9220"
                ],
                "ending_balance": [
                    0
                ]
            },
            "total_equity": 301834470
        }
    }

I'm confused about giving the right data type, because there are arrays("0","1","2") that contain objects and "total_equity" that contain number. I've tried to give the map data type, but it will be error for "total_equity"

var equity: Map<String, EquityDto?>

If you know the solution for this problem please help me. Thank you

question from:https://stackoverflow.com/questions/65931257/convert-json-to-pojo-with-different-data-type

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can use

var equity: Map<String, Any>

While accessing the Any Data type u can compare the varrriable type(instance of) and use the value as following

if (valueofMap is Int){
//here is integer value
}

if (valueofMap is yourDataClass){
//your custom class
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...