如果json字段包含冒号(:),我们如何解析?如下所示:
{
"dc:creator":"Jordan, Micheal",
"element:publicationName":"Applied Ergonomics",
"element:issn":"2839749823"
}实际上,我想知道如何使用像restsharp这样的库来进行映射?
发布于 2014-02-28 07:56:23
使用Json.Net
string json = @"{
""dc:creator"":""Jordan, Micheal"",
""element:publicationName"":""Applied Ergonomics"",
""element:issn"":""2839749823""
}";
var pub = JsonConvert.DeserializeObject<Publication>(json);public class Publication
{
[JsonProperty("dc:creator")]
public string creator { set; get; }
[JsonProperty("element:publicationName")]
public string publicationName { set; get; }
[JsonProperty("element:issn")]
public string issn { set; get; }
}或
Console.WriteLine(JObject.Parse(json)["dc:creator"]);发布于 2014-02-28 07:58:23
如果使用DataContractJsonSerializer,则DataMemberAttribute具有可用于覆盖默认名称的属性Name。这意味着当您反序列化属性json值时,dc:creator被分配给Publication::Creator属性,而当您序列化C#对象时则相反。
例如:
public class Publication
{
[DataMember(Name="dc:creator")]
public string Creator { set; get; }
[DataMember(Name="element:publicationName")]
public string PublicationName { set; get; }
[DataMember(Name="element:issn")]
public string Issn { set; get; }
}如果你选择使用Json.Net,@L.B的答案就是方法。
https://stackoverflow.com/questions/22089319
复制相似问题