3 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
public Map jsonToObject(String jsonStr) throws Exception {
JSONObject jsonObj = new JSONObject(jsonStr);
Iterator<String> nameItr = jsonObj.keys();
String name;
Map<String, String> outMap = new HashMap<String, String>();
while (nameItr.hasNext()) {
name = nameItr.next();
outMap.put(name, jsonObj.getString(name));
}
return outMap;
}

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
現(xiàn)有一個(gè)類
public class B
{
public string AA{get;set;}
}
public class A:B
{
}
使用 Newtonsoft.Json.JsonConvert.SerializeObject 將實(shí)體A對(duì)象轉(zhuǎn)換為json字符時(shí)發(fā)現(xiàn),A中的所有屬性都有了,但是繼承自B的所有屬性都沒有,反復(fù)查找
問題解決了,這里寫一些方便以后有人遇到同樣的問題
解決方法,在基類中,需要被串行化的屬性上加上[JsonProperty]特性
比如:
public class B
{
[JsonProperty]
public string AA{get;set;}
}
這樣在串行化A類對(duì)象的時(shí)候也會(huì)將B中的屬性一起串行化
添加回答
舉報(bào)