草庐IT

Zend_JSON

全部标签

c# - 用于小写下划线到 CamelCase 的自定义 Json.NET 契约(Contract)解析器

我正在ASP.NETMVC中开发RESTAPI,其中生成的序列化JSON使用lowercase_underscore作为属性。从具有字符串属性FirstName和Surname的类Person中,我得到如下JSON:{first_name:"Charlie",surname:"Brown"}注意小写_下划线名称。我用来为我自动执行此转换的契约(Contract)解析器是:publicclassJsonLowerCaseUnderscoreContractResolver:DefaultContractResolver{privateRegexregex=newRegex("(?!(^[

c# - 从 ModelState 中删除 JSON.net 序列化异常

问题背景为了避免重复验证逻辑,我遵循一种将服务器端ModelState错误推送到我的View模型(MVVMKnockoutJS)的模式。所以按照惯例,我的KOViewModel上的属性名称与我的Api公开和期望的属性相匹配,因此我可以使用我编写的一个小Knockout插件轻松地将一个映射到另一个。...Spend$问题我的问题是,当JSON.Net序列化我通过AJAX发送的JSON时,当它遇到异常时,它会将其添加到ModelStateas和ExceptiononModelError类。示例响应:{"message":"Therequestisinvalid.","modelState"

c# - 有什么方法可以对 List<T> 的子类进行 JSON.NET 序列化,该子类也具有额外的属性?

好的,我们正在使用我非常喜欢的Newtonsoft的JSON.NET产品。但是,我有一个简单的类结构,用于分层位置,大致如下所示......publicclassLocation{publicstringName{get;set;}publicLocationListLocations{get;set;}}//Note:LocationListissimplyasubclassofaList//whichthenaddsanIsExpandedpropertyforusebytheUI.publicclassLocationList:List{publicboolIsExpanded{

c# - Mongodb Bson类型转Json

我正在使用Postman测试我的asp.netcore2.2webapi。我像这样手动编写JSON(httppatch):{"query":"{\"name\":\"foo\"}","update":["{\"$set\":{\"name\":\"foo2\"}}","{\"$set\":{\"path\":\"foo2path\"}}"]}现在我在考虑如何在客户端构建补丁体。我的问题是如何在json中获得与此代码等效的代码,使其看起来像我手动编写的代码?varquery=Builders.Filter.Eq(e=>e.name,"foo");varupdates=Builders.U

c# - 为什么 JSON 空字符串在服务器端反序列化为 null?

我通过$.post发送空字符串,它反序列化为null。如何在客户端区分字符串是空还是空?问候更新我实际上在做的是:$.post("Controller/Action",$.param({Name:""},true),null,"json");在服务器上:publicContainer{publicstringName;}publicvoidAction(Containercontainer){boolc=container.Name==null;//cistrue,why?} 最佳答案 具有空值的变量在JSON中写为:{"var":

c# - 在 RestSharp 中优雅地处理一个空的 json 对象

我有以下代码:publicvoidGetJson(){RestRequestrequest=newRestRequest(Method.GET);vardata=Execute>(request);}publicTExecute(RestRequestrequest)whereT:new(){RestClientclient=newRestClient(baseUrl);client.AddHandler("text/plain",newJsonDeserializer());varresponse=client.Execute(request);returnresponse.Data

c# - 为 ASP.Net Web API 生成 JSON 模式

我希望为WebAPI生成JSON架构,包括来自XML注释的文档。它主要是为了让我可以将其导入我们的API文档(使用apiary.io)我已经设法通过添加swagger(和swashbuckle)然后在每个服务上使用原始链接来获得变通解决方案-但理想情况下我想要一些更干净的东西,它适用于所有api(这必须在每个服务上完成/Controller),并且没有那么多依赖项。在我去看看swagger是如何做到这一点并查看它是否可以被提取之前,最好知道是否有现有的方法可以做到这一点? 最佳答案 是的,您可以依赖Swagger,它有一个名为swa

c# - 在 Json.net 中使用自定义 JsonConverter 和 TypeNameHandling

我有一个具有接口(interface)类型属性的类,例如:publicclassFoo{publicIBarBar{get;set;}}我还有多个可以在运行时设置的IBar接口(interface)的具体实现。其中一些具体类需要自定义JsonConverter来进行序列化和反序列化。利用TypeNameHandling.Auto选项,需要IBar类的非转换器可以完美地序列化和反序列化。另一方面,自定义序列化类没有$type名称输出,虽然它们按预期序列化,但不能反序列化为具体类型。我试图在自定义JsonConverter中自己写出$type名称元数据;然而,在反序列化时,转换器将被完全绕

c# - 使用 JsonConverter 的 Json.NET 自定义序列化 - 如何获得 "default"行为

我的类DataType有一个JsonConverter。当在Json中使用纯字符串作为DataType类型的属性值时,我想做一些特殊处理。在值是“完整”对象的情况下,我想进行“正常”反序列化。这是我的尝试publicoverrideobjectReadJson(JsonReaderreader,TypeobjectType,objectexistingValue,JsonSerializerserializer){if(reader.Value!=null&&reader.ValueType==typeof(string)){returnsomeSpecialDataTypeInsta

c# - 更改单个 ASP.NET Core Controller 的 JSON 序列化设置

我有两个ControllerController:ControllerA和ControllerB。每个Controller的基类是Controller。ControllerA需要以默认格式(camelCase)返回JSON。ControllerB需要以不同的JSON格式返回数据:snake_case。如何在ASP.NETCore3.x和2.1中实现它?我尝试了startup:services.AddMvc().AddJsonOptions(options=>{options.SerializerSettings.Converters.Add(newStringEnumConverter