首页 新闻 搜索 专区 学院

C# 利用 Newtonsoft.Json 解析 json数据,但是 json数据中name与C#关键字重复了,如何解决,如下:

0
悬赏园豆:10 [已解决问题] 解决于 2013-02-04 15:15
[Serializable]
public class GroupMemberList {
public int code { get; set; }
public int subcode { get; set; }
public string message { get; set; }
public int default { get; set; } //default属性和关键字重名
}

GroupMemberList gml = (GroupMemberList)JsonConvert.DeserializeObject(json_data, typeof(GroupMemberList));


有什么好的办法解决吗?
^上善若水^的主页 ^上善若水^ | 菜鸟二级 | 园豆:227
提问于:2013-02-03 23:17
< >
分享
最佳答案
1

2种解决方案,第一:

public int @default { get; set; } 

第二:

[JsonProperty("default")]
public int DefaultValue { get; set; }

建议第二种,同时建议你把其他的都改成这样:

[JsonProperty("code")]
public int Code { get; set; }

因为C#中的属性常用命名规范都是首字母大写。

收获园豆:10
水牛刀刀 | 大侠五级 |园豆:6350 | 2013-02-04 13:11

非常感谢

^上善若水^ | 园豆:227 (菜鸟二级) | 2013-02-04 15:14

太感谢你的解答了~找了好久终于知道怎么弄了。。。

keepnode | 园豆:162 (初学一级) | 2015-12-14 21:55
其他回答(3)
0

问题是,自己写的类为什么要和关键字重复呢?

BorgChen | 园豆:11 (初学一级) | 2013-02-04 00:50

呵呵,要解析的json数据是网上的数据.

支持(0) 反对(0) ^上善若水^ | 园豆:227 (菜鸟二级) | 2013-02-04 15:14
0
  public int default { get; set; }     换个属性名不就行了 啊
chenping2008 | 园豆:9836 (大侠五级) | 2013-02-04 09:25
0

不想,把数据库实力名暴露给用户

cnkker.com | 园豆:210 (菜鸟二级) | 2013-09-17 17:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册