Tag: json.net

.net的Newtonsoft JSON忽略了jsonproperty标签

出于一些非常恼人的原因,JsonProperty标签不适用于Newtonsoft的Json for .net工具。 在我的class上我有这些: [JsonProperty(PropertyName = “id”)] public string ID { get; set; } [JsonProperty(PropertyName = “title”)] public string Title { get; set; } [JsonProperty(PropertyName = “url”)] public string Url { get; set; } [JsonProperty(PropertyName = “class”)] public string EventClass { get; set; } [JsonProperty(PropertyName = “start”)] public string Start { get; set; } [JsonProperty(PropertyName […]

如何将此JSON反序列化为对象?

我正在尝试使用JSON.Net将JSON对象反序列化为C#对象。 我想要创建的对象是MonthlyPerformance ,它包含Type列表,其中包含Categories列表,而MonthlyPerformance列表又包含一个Funds列表。 它们被定义为: public class MonthlyPerformance { public List Types { get; set; } } public class Type { public int Id { get; set; } public string CountryId { get; set; } public string Name { get; set; } public List Categories { get; set; } public Type() { } } public class […]

Web Api错误地反序列化枚举列表

所以,我正在使用Web API控制器来接受JSON请求。 它映射到包含枚举列表的模型对象。 我遇到的问题是,如果JSON包含无效值,它似乎没有正确反序列化。 我希望将无效值映射到我的枚举列表中的0值类型,但这不会发生。 我已经分离出3个主要案例:如果JSON的forms是 … “MyEnumList”:[“IncorrectEnum”, “One”, “Two”] … 该值根本没有映射,我只是得到一个包含两个有效值的列表。 但是,如果我提供此JSON: … “MyEnumList”:[“123”, “One”, “Two”] … 我得到一个包含3个对象的列表,其中第一个对象的类型为“MyEnum”,其值为123,即使在我的枚举中没有定义。 如果我提供此JSON语法,也会发生同样的情况: … “MyEnumList”:[123, “One”, “Two”] … 任何人都可以解释这里发生了什么,以及如何确保值始终映射到有效类型? 供参考,模型对象,包含我的枚举列表: public class MyClass { public List MyEnumList { get; set; } } 和简单的枚举: public enum myEnum { Zero = 0, One = 1, Two = 2 }

反序列化部分JSON

我有一个问题,将Json字符串反序列化为对象。 这是我从网络服务收到的一个示例json: { “GetDataResult”: “{ \”id\”:1234, \”cityname\”:\”New York\”, \”temperature\”:300, }” } 我有一个类似CityData的类 [JsonObject(“GetDataResult”)] public class CityData { [JsonProperty(“id”)] public int Id { get; set; } [JsonProperty(“cityname”)] public string CityName { get; set; } [JsonProperty(“temperature”)] public int Temperature { get; set; } } 我尝试通过调用DeserializeObject方法反序列化json var cityData = JsonConvert.DeserializeObject(response); 但根元素似乎有问题…… 你们知道我怎么解决它,所以我收到一个填充了数据的CityData对象?

Newtonsoft Json.net – 如何序列化流的内容?

我需要转换为内存流的JSON 任意内容 。 这是我想要做的一个简单示例: class Program { class TestClass { public int Test1;} static void Main(string[] args) { var ms = new MemoryStream(); var writer = new StreamWriter(ms); writer.Write(new TestClass()); writer.Flush(); ms.Position = 0; var json = JsonConvert.SerializeObject(/*???*/, Formatting.Indented); Console.Write(json); Console.Read(); } } 不知道要传递给SerializeObject方法的内容。 如果我传递MemoryStream(变量ms)我得到一个错误: Newtonsoft.Json.dll中出现未处理的“Newtonsoft.Json.JsonSerializationException”类型exception 附加信息:从’System.IO.MemoryStream’上的’ReadTimeout’获取值时出错。 是否可以序列化流的任意内容? 谢谢

如何使用JSON.Net将System.Drawing.Size序列化/序列化为对象?

我完全不知道怎么做。 我使用的示例类: class MyClass { private Size _size = new Size(0, 0); [DataMember] public Size Size { get { return _size; } set { _size = value; } } } 这被序列化为{size: “0, 0”} 。 我需要的是{size: {width: 0, height: 0}} 。 任何帮助表示赞赏,谢谢。

在WP7中反序列化JSON

我有这个JSON,我试图在Windows Phone上阅读。 我一直在玩DataContractJsonSerializer和Json.NET,但运气不好,特别是阅读每个’条目’: {“lastUpdated”:”16:12″,”filterOut”:[],”people”: [{“ID”:”x”,”Name”:”x”,”Age”:”x”},{“ID”:”x”,”Name”:”x”,”Age”:”x”},{“ID”:”x”,”Name”:”x”,”Age”:”x”}], “serviceDisruptions”: { “infoMessages”: [“blah blah text”], “importantMessages”: [], “criticalMessages”: [] } } 我所关心的只是人物部分的条目。 基本上我需要读取并遍历条目(包含ID,Name,Age值)并将它们添加到Collection或类中。 (之后我填充了一个列表框。) 任何指针赞赏。

JSON.NET反序列化/序列化JsonProperty JsonObject

我有一个关于使用Newtonsoft JSON.NET库进行反序列化/序列化的问题: 我收到这个json: { “customerName” : “Lorem”, “id”: 492426 “sequence”: 1232132 “type” : 3, “status” : 0, “streetNumber” : 9675, “streetName” : “Lorem”, “suite” : null, “city” : “IPSUM”, “provinceCode” : “QC”, “postalCode” : “H1P1Z3”, “routeNumber” : 0, “poBox” : 0, “streetType” : “CH”, “userId” : 25, “streetDirection” : null, “countryCode” : “CA”, “customerNickName” : […]

使用Json.net将JSON数组中的多个项添加到C#中的对象

谁能告诉我如何反序列化包含多个属性的对象? 鉴于下面的场景,代码工作正常。 public ActionResult Index() { string json = @”{“”name””: “”Person 2″”,””email””: “”example@example.com””}”; var emp = JsonConvert.DeserializeObject(json); Response.Write(emp.name + emp.email); return View(); } public class Person { public string name { get; set; } public string email { get; set; } } 但是,如果数组包含多个项目,我该怎么做,例如 string json = @”{“”data””: [{“”name””: “”Person 1″”,””email””: “”test@test.com””},{“”name””: “”Person 2″”,””email””: “”example@example.com””}]}”; 提前致谢 […]

无法找到命名空间 – 使用TFS构建

我在使用TFS时遇到了麻烦。 它不会构建我的项目,因为 找不到类型或命名空间名称’Newtonsoft’(您是否缺少using指令或程序集引用?) 我尝试通过nuget添加它,但我仍然收到此错误。 当我通过nuget添加这个dll时,我有其他项目工作正常。 此外,该项目的本地构建是成功的。 我在解决方案中创建了一个新文件夹,然后将dll放入其中并引用它。