Tag: json.net

Json.net使用JsonProperty来获取inheritance的属性

您好我正在尝试使用Json.net反序列化此json代码。 它是关于特定电影的信息。 除了cast属性之外,一切都按预期工作。 在信用财产中inheritance的。 我为我的Movie类中的一个名为Actor的演员和一个这个actor类的列表做了一个类 { “id”:550, “original_title”:”Fight Club”, “credits”: { “cast”: [ { “id”:819, “name”:”Edward Norton”, “character”:”The Narrator”, “order”:0, “cast_id”:4, “profile_path”:”/eIkFHNlfretLS1spAcIoihKUS62.jpg” }, { “id”:287, “name”:”Brad Pitt”, “character”:”Tyler Durden”, “order”:1, “cast_id”:5, “profile_path”:”/kc3M04QQAuZ9woUvH3Ju5T7ZqG5.jpg” }, { “id”:1283, “name”:”Helena Bonham Carter”, “character”:”Marla Singer”, “order”:2, “cast_id”:6, “profile_path”:”/58oJPFG1wefMC0Vj7sFzHPrm67J.jpg” }, { “id”:7470, “name”:”Meat Loaf”, “character”:”Robert ‘Bob’ Paulson”, “order”:3, “cast_id”:7, “profile_path”:”/pwNyXgegO1nlZ8uWT847JM8EjGj.jpg” }, […]

为什么Json.NET DeserializeObject会将时区更改为本地时间?

我正在使用json.net反序列化DateTimeOffset ,但它忽略指定的时区并将datetime转换为本地偏移量。 例如,给定 var content = @”{“”startDateTime””:””2012-07-19T14:30:00+09:30″”}”; 使用以下方法进行反序列化时: var jsonSerializerSettings = new JsonSerializerSettings() { DateFormatHandling = DateFormatHandling.IsoDateFormat, DateParseHandling = DateParseHandling.DateTimeOffset, DateTimeZoneHandling = DateTimeZoneHandling.RoundtripKind }; var obj = JsonConvert.DeserializeObject(content, jsonSerializerSettings); obj将包含一个包含DateTimeOffset的属性,但该值将为2012-07-19T15:30:00+10:30即转换为本地时区而不是保留原始时区。 有没有办法让值按预期进行解析,以便生成的DateTimeOffset属性与提供的值匹配?

如何使用Newtonsoft.Json包在C#(4.0)中解析我的json字符串?

我是JSON的新手。在我的asp.net应用程序中,我想解析json字符串。所以,我使用了Newtonsoft.Json包来读取和写入json数据。现在,我能够解析简单的json数据。但是现在我收到了一些复杂的json数据用于解析。所以,我有点打击它。 这是JSON数据: { quizlist: [ { QUIZ: { ‘QPROP’: [ { ‘name’: ‘FB’, ‘intro’: ”, ‘timeopen’: ‘1347871440’, ‘timeclose’: ‘1355733840’, ‘timelimit’: ‘0’, ‘noofques’: ‘5’, ‘QUESTION’: { ‘QUEPROP’: [ { ‘questiontext’: ‘Scienceisbasedont’, ‘penalty’: ‘0.3333333’, ‘qtype’: ‘shortanswer’, ‘answer’: ’cause-and-effect’, ‘mark’ : ‘5’, ‘hint’: ” }, { ‘questiontext’: ‘otherscientistsevaluateit’, ‘penalty’: ‘0.3333333’, ‘qtype’: ‘shortanswer’, ‘answer’: ‘Peerreview’, ‘mark’ : ‘5’, ‘hint’: […]

将json反序列化为具有默认私有构造函数的类的C#对象

我需要将json反序列化为以下类。 public class Test { public string Property { get; set; } private Test() { //NOTHING TO INITIALIZE } public Test(string prop) { Property = prop; } } 我可以创建一个Test实例 var instance = new Test(“Instance”); 考虑我的json之类的东西 “{ “Property”:”Instance” }” 我如何创建Test类的对象,因为我的默认构造函数是私有的,我得到的对象是Property为NULL 我正在使用Newtonsoft Json解析器。

Json.net缓慢序列化和反序列化

我有一个问题 – Json.Net序列化我的对象真的很慢。 我有一些基础课: public class authenticationRequest { public string userid; public string tid; public string token; public string platform; public string version; } 而且我正在将它序列化 string jsonDataToSend = JsonConvert.SerializeObject(dataToSend); 此操作大约需要1900毫秒。 与来自Json.net CodePlex页面的信息相比 : 这需要很长时间。 出于测试目的,我将我的类交换为一个简单的字符串: string jsonDataToSend = JsonConvert.SerializeObject(“fsdfsdfsdfs”); 转换仍需要约900毫秒。 是什么原因? 我能做些什么来更快地序列化这些数据?

使用JSON.NET生成具有额外属性的JSON模式

我正在使用JSON.NET从c#对象类生成JSON Schema。 但是我无法添加任何其他json架构属性,例如maxLength,pattern(用于validation电子邮件的正则表达式)等 下面是我的工作代码,我只能生成带有必需属性的json模式。 如果有人能发布一些关于如何为json模式添加额外属性的代码示例,那将是很棒的。 谢谢, 我的代码示例 public class Customer { [JsonProperty(Required = Required.Always)] public int CustomerID { get; set; } [JsonProperty(Required = Required.Always)] public string FirstName { get; set; } [JsonProperty(Required = Required.Always)] public string LastName { get; set; } [JsonProperty(Required = Required.Always)] public string Email { get; set; } [JsonProperty(Required = Required.AllowNull)] public […]

如何在asp.net web api中返回json错误消息?

我想返回一个json errormessage但是在fiddler中,我在json面板中看不到这个: string error = “An error just happened”; JsonResult jsonResult = new JsonResult { Data = error, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; response = Request.CreateResponse(HttpStatusCode.BadRequest, jsonResult.Data); 这该怎么做?

如何解析多态JSON数组?

我有一个JSON格式的文件,包含个人用户的记录。 一些用户的记录中间有一个注释字段。 我只想解析顶级项目(fullName contributorName email) 使用Newtonsoft.JSON解析器,但我似乎无法识别单个对象。 当我将整个字符串解析为一个大对象时,我不知道如何迭代各个字符串。 这就是我尝试这样做的方法(属性属性),但是如果它们出现故障或者有子属性则不起作用。 我需要将它放入一个对象中: StreamReader re = File.OpenText(“C:\\dropbox\\my dropbox\\clients\\towson\\english 317\\Ning Archive\\ning-members.json”); JsonTextReader reader = new JsonTextReader(re); string ct = “”; try { ct += “”; while (reader.Read()) { if (reader.TokenType == JsonToken.PropertyName) { if (reader.Value.ToString() == “fullName”) { reader.Read(); ct += “\r\n\r\n” + reader.Value + “”; } if (reader.Value.ToString() == […]

JSON使用多态对象数组进行反序列化

我遇到了涉及多态对象数组的JSON反序列化问题。 我已经尝试了这里和这里记录的序列化解决方案,这些解决方案非常适合序列化,但是它们都在反序列化方面有所作为。 我的class级结构如下: IDable [DataContract(IsReference=true)] public abstract class IDable { [DataMember] public T ID { get; set; } } 观察组 [DataContract(IsReference=true)] [KnownType(typeof(DescriptiveObservation))] [KnownType(typeof(NoteObservation))] [KnownType(typeof(NumericObservation))] [KnownType(typeof(ScoredObservation))] public class ObservationGroup : IDable { [DataMember] public string Title { get; set; } [DataMember] public List Observations { get; set; } [OnDeserializing] void OnDeserializing(StreamingContext context) { init(); } public […]

从JsonConverter运行默认序列化逻辑

我有一个JsonConverter ,根据实例特定的标志,需要 运行自定义序列化逻辑 运行默认的Json.NET序列化逻辑 如何从JsonConverter运行默认的Json.NET序列化逻辑? 谢谢