草庐IT

write_json

全部标签

c# - 如何反序列化其中包含无效字段名称的 JSON 对象

我有一个具有以下结构的JSON请求:"formats":{"flash_embed":"http://a3.vikiassets.com/assets/vikiplayer-922746a667cfd38137a7e45df6ba1b95.swf?auto_play=true&language_codes=en&media_id=74965&partner=16&source=api_v3","m3u8":"http://wpc.354a.edgecastcdn.net/00354A/videos/encoded/74965/ios.m3u8","res-150p":"http://w

c# - json.net:为字典键指定转换器

我有一个JSON:{"data":{"A":5,"B":6},"foo":"foo","bar":"bar"}我需要将数据反序列化为一个类:publicDictionaryData{get;set;}publicstringFoo{get;set;}publicstringBar{get;set;}但MyEnum值是CodeA和CodeB而不是简单地分别是A和B。我有一个可以处理转换的自定义转换器。但是我如何指定一个JsonConverter来与字典键一起使用呢? 最佳答案 我相信唯一的方法是为整个Dictionary制作一个Jso

C# 比 Console.Write() 更快的东西?

我正在制作游戏,使用Console.Write()重绘游戏区域不是很好,有什么方法可以更快地重写整个游戏区域,而不会使它看起来“滞后”?游戏场中几乎所有的东西都在移动,但只有在元素不为0时才会有对象。(您可以在此处查看完整代码http://pastebin.com/TkPd37xD如果我的描述不够,请查看我在说什么)for(intY=0;Y 最佳答案 基本上有两种方法:渲染更少,渲染更快。渲染较少通常更棘手,但也往往不那么密集。典型的例子是Carmack的Keen游戏——PC没有勇气一次重新渲染整个屏幕,所以Carmack确保只有屏

c# - json.net 与 DataContractJsonSerializer

我知道现在有一个DataContractJsonSerializer随.net框架一起提供,并由支持wcfajax的服务使用。但是,我注意到在codeplex也有一个json.net项目。.我想知道.net框架是否缺少codeplex项目中存在的任何优势或功能。 最佳答案 json.net有下一个优点:控制日期如何格式化(\/Date(123)\/MSAJAX样式)序列化包含循环的对象图的能力(通过告诉Json.NET忽略它们)有很多解释它如何反射(reflect)在WCF开发上here.此外,关于http://banachowsk

c# - JSON.NET 中基于属性的类型解析

是否可以根据JSON对象的属性使用JSON.NET覆盖类型解析?根据现有API,我似乎需要一种方法来接受JsonPropertyCollection并返回要创建的Type。注意:我知道TypeNameHandlingattribute,但它添加了一个$type属性。我无法控制源JSON。 最佳答案 这似乎是通过创建自定义JsonConverter来处理的并在反序列化之前将其添加到JsonSerializerSettings.Converters。nonplus在JSON.NETdiscussionsboard上留下了方便的样本在Co

c# - 尝试反序列化从 Exception 继承的类时 Json.net 失败

我有一个继承自Exception的类SearchError,每当我尝试从有效的json中反序列化它时,我都会得到以下异常:ISerializabletype'SearchError'doesnothaveavalidconstructor.TocorrectlyimplementISerializableaconstructorthattakesSerializationInfoandStreamingContextparametersshouldbepresent.Path'',line1,position81.我尝试实现建议的缺失构造函数,但没有帮助。这是实现建议的构造函数后的类:

c# - ASP.NET Core HTTPRequestMessage 返回奇怪的 JSON 消息

我目前正在使用ASP.NETCoreRC2,但遇到了一些奇怪的结果。所以我有一个具有以下功能的MVCController:publicHttpResponseMessageTunnel(){varmessage=newHttpResponseMessage(HttpStatusCode.OK);message.Content=newStringContent("blablabla",Encoding.UTF8);message.Content.Headers.ContentType=newSystem.Net.Http.Headers.MediaTypeHeaderValue("tex

c# - 根据 JSON Schema C# 验证 JSON

有没有办法根据该结构的JSON模式验证JSON结构?我查看并发现JSON.Net有效,但这并没有达到我想要的效果。JSON.net做:JsonSchemaschema=JsonSchema.Parse(@"{'type':'object','properties':{'name':{'type':'string'},'hobbies':{'type':'array'}}}");JObjectperson=JObject.Parse(@"{'name':'James','hobbies':['.NET','LOLCATS']}");boolvalid=person.IsValid(sch

c# - 如何使用 WebBrowser 控件捕获 JSON 响应

我使用WebBrowser.Navigate()发布到网站的JSON响应URL。一切顺利,包括正在调用的webBrowser1_DocumentCompleted()事件处理程序。但是我没有得到可以编程处理的“安静”响应(例如webBrowser1.Document),而是收到一个文件下载对话框:如果我单击Save按钮并稍后检查该文件,它包含我期望的JSON响应。但我希望程序在代码中捕获此JSON响应,而不显示该对话框并且不必单击Save按钮。如何使用WebBrowser控件捕获JSON响应?注意:在发布这个问题之前,我搜索了SO,我发现的只是一个类似的问题,接受的答案并没有真正解释如

c# - Json.NET 序列化中有没有办法区分 "null because not present"和 "null because null"?

我在ASP.NETwebapi代码库中工作,我们在很大程度上依赖于通过JSON.NET自动支持将消息主体的JSON反序列化为.NET对象。作为为我们的一项资源构建补丁支持的一部分,我非常想区分JSON对象中不存在的可选属性与显式为null的同一属性。我的意图是将第一个用于“不要更改那里的内容”与“删除此内容”。有谁知道是否可以标记我的C#DTO,以便在它们被反序列化时JSON.NET可以告诉我它是哪种情况?现在它们只是作为null出现,我不知道为什么。相反,如果有人能想出一个更好的设计,不需要我这样做,同时仍然支持补丁动词,我很想听听你的建议。作为一个具体的例子,考虑将传递给put的这