我是Json和Gson的初学者,我知道我可以将json映射到一个类中,并通过Gson将类映射到json。
"我的Json"是一个json数据,我尝试设计一个类" My Class"地图,但我认为"我的班级"不好。你能告诉我一些示例代码吗?谢谢!
我的班级
data class Setting (
val _id: Long,
val Bluetooth_Stauts: Boolean,
val WiFi_Name,String
val WiFi_Statuse: Boolean
)
我的Json
{
"Setting": [
{
"id": "34345",
"Bluetooth": { "Status": "ON" },
"WiFi": { "Name": "MyConnect", "Status": "OFF" }
}
,
{
"id": "16454",
"Bluetooth": { "Status": "OFF" }
}
]
}
更新
以下是Rivu Chakraborty的观点,它可以很好地运作,但它很复杂,有一个简单的方法吗?
data class BluetoothDef(val Status:Boolean=false)
data class WiFiDef(val Name:String, val Status:Boolean=false)
data class MDetail (
val _id: Long,
val bluetooth: BluetoothDef,
val wiFi:WiFiDef
)
data class MDetailsList(val mListMetail: MutableList<MDetail>)
var mBluetoothDef1=BluetoothDef()
var mWiFiDef1=WiFiDef("MyConnect 1",true)
var aMDetail1= MDetail(5L,mBluetoothDef1,mWiFiDef1)
var mBluetoothDef2=BluetoothDef(true)
var mWiFiDef2=WiFiDef("MyConnect 2")
var aMDetail2= MDetail(6L,mBluetoothDef2,mWiFiDef2)
val mListMetail:MutableList<MDetail> = mutableListOf(aMDetail1,aMDetail2)
var aMDetailsList=MDetailsList(mListMetail)
val json = Gson().toJson(aMDetailsList)
答案 0 :(得分:2)
根据你的JSON结构,我认为下面的类定义应该适用于Gson
data class Setting (
val id: Long,
val Bluetooth: BluetoothDef,
val WiFi:WiFiDef
)
data class BluetoothDef(val Status:String)
data class WiFiDef(val Name:String, val Status:String)
说明 -
String
和"ON"
等字符串,请使用"OFF"
。如果您获得Boolean
和true
(不含引号),则可以使用false
。*注意如果需要,可以重命名
我认为它会对你有所帮助