2015-07-21 76 views
-2

我有一个从服务器返回的复杂json结构。这里的问题是我需要解析这个json并反序列化它并将它存储在一个新的映射结构中 - 不像json文件。有人能告诉我如何使用gson来做到这一点?由于使用Gson解析json到自定义模型

这里是我的JSON的一部分:

{ 
"direct_from_operator": 3, 
            "yearly_id": { 
                "$oid": "559f9934783a8731def494dc" 
            }, 
            "calculation_amount": 121.2, 
            "handset": { 
                "monthly_price": 0, 
                "name": "Sony Xperia Z3 Copper (4G)", 
                "handset": 475, 
                "retailer": 3, 
                "model_img": "", 
                "payment_level_id": 1, 
                "plan": 488, 
                "model": 152, 
                "upfront_price": 149, 
                "model_name": "Sony Xperia Z3" 
            }, 
            "internals": [ 
                { 
                    "description": "", 
                    "meta_name": "national voice unlimited", 
                    "main_category": 0, 
                    "is_primary": true, 
                    "data_format": "Unlimited", 
                    "ui_display": 0, 
                    "loc_types": [ 
                        0, 
                        0 
                    ], 
                    "name": "Vodafone Unlimited Min Voice", 
                    "id": 147, 
                    "data_level_mb": null, 
                    "is_external": false 
                }, 
                { 
                    "description": "", 
                    "meta_name": "national voice calls only trailer", 
                    "main_category": null, 
                    "is_primary": false, 
                    "data_format": "", 
                    "ui_display": 0, 
                    "loc_types": [ 
                        0, 
                        0 
                    ], 
                    "name": "Vodafone Special Numbers", 
                    "id": 217, 
                    "data_level_mb": null, 
                    "is_external": false 
                } 
     ] 
} 

注:我想所有这一切都存储在一个模型类。

回答

0

如果模型类具有比JSON的要反序列化相同的属性,尝试:

Gson gson = new GsonBuilder().create(); 
YourModelClass yourModelClass = gson.fromJson(yourJsonAttribute, YourModelClass.class);