XML到JSON使用JSON.NET

问题描述:

我有一个格式不正确,但需要使用的XML:XML到JSON使用JSON.NET

<Users> 
<User First="aaa" Second="bbb">InnerValue</User> 
<User First="bbb" Second="">InnerValue</User> 
</Users> 

Clases定义:

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); 

所以一切都很好地反序列化,但如何获得内在价值?

+0

我不明白,究竟是什么问题呢? – svick 2013-02-15 16:21:39

+0

我无法得到InnerValue,正如我所解释的。 – 2013-02-15 16:22:58

+0

嘿@plurby使用Json.net的任何特殊原因? – Baljeetsingh 2013-02-15 16:34:12

为了让你必须使用[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; } 
    }