使用JSON.NET将XML转换为JSON
本文关键字:JSON 转换 XML NET 使用 | 更新日期: 2023-09-27 17:59:46
我有一个XML格式不好,但需要使用:
<Users>
<User First="aaa" Second="bbb">InnerValue</User>
<User First="bbb" Second="">InnerValue</User>
</Users>
冲突定义:
public class Users
{
public List<User> User{ get; set; }
}
public class User
{
[JsonProperty("@First")]
public string First{ get; set; }
[JsonProperty("@Second")]
public string Second{ get; set; }
//how to define a property to get the InnerValue
}
要解析:
XDocument xmlDocument = XDocument.Parse(xmlData);
string jsonData = JsonConvert.SerializeXNode(xmlDocument);
Users users = JsonConvert.DeserializeObject<Users>(jsonData);
所以所有的东西都被很好地反序列化了,但是如何获得内部值呢?
要获得内部值,必须使用[JsonProperty("#text")]
以便更新:
public class User
{
[JsonProperty("@First")]
public string First{ get; set; }
[JsonProperty("@Second")]
public string Second{ get; set; }
[JsonProperty("#text")]
public string InnerValue { get; set; }
}