草庐IT

json_name

全部标签

c# - 使用 JSON 序列化请求对象

我目前正在进行概念验证,遇到了一个涉及使用JSON序列化HttpRequest的问题。背景我原本以为我可以使用JSON.Encode()轻松完成它方法如下所示:JSON.Encode(HttpContext.Request)但是,我很快发现这会导致抛出各种循环引用(主要是由于Request对象的实际结构和复杂性)。这些只会在实际遇到包含循环引用的属性时发生,因为我之前使用以下代码来获取我需要的特定元素:JSON.Encode(new{HttpContext.Request.Cookies,HttpContext.Request.Headers,...});效果很好。我只是好奇是否有更好

c# - 使用 Json.NET 序列化时如何省略空集合

我正在使用Newtonsoft的Json.NET7.0.0.0将类从C#序列化为JSON:classFoo{publicstringX;publicListY=newList();}varjson=JsonConvert.SerializeObject(newFoo(),Formatting.Indented,newJsonSerializerSettings{NullValueHandling=NullValueHandling.Ignore});这里json的值是{"Y":[]}但如果Y是一个空列表,我希望它是{}。我找不到令人满意的方法来实现这一点。也许使用自定义契约(Contr

c# - "Both use the XML type name X, use XML attributes to specify a unique XML name and/or namespace for the type"怎么解决?

我有以下枚举定义...namespaceItemTable{publicenumDisplayMode{Tiles,Default}}namespaceEffectiveItemPermissionTable{publicenumDisplayMode{Tree,FullPaths}}...然后我有以下类(class)...publicclassTablewhereTDisplayMode:struct{//publicpublicTDisplayModeDisplayMode{get{returnmDisplayMode;}set{mDisplayMode=value;}}//pri

c# - ASP.NET Core Web 服务不会将 appsettings.json 加载到配置中

我有一个带有RazorPages的ASP.NETCore2.1Web应用程序,它在appsettings.json文件中定义了AAD身份验证信息(由默认应用程序模板提供-请参阅下文了解我是如何到达那里的).但是,当尝试在Startup.cs中配置身份验证时,配置中没有来self的appsettings.json的任何配置值。如果我在调试器中检查IConfiguration对象,那么它似乎只有环境变量配置:这是问题所在的Startup.ConfigureServices方法:publicvoidConfigureServices(IServiceCollectionservices){s

c# - 路由 : How to hide action name in url?

在MVC默认路由中routes.MapRoute("Default",//Routename"{controller}/{action}/{id}",//URLwithparametersnew{controller="Home",action="Index",id=UrlParameter.Optional}//Parameterdefaults);每当访问索引操作时,当访问“索引”操作时,url不会显示操作名称。我想在另一个Controller上获得该行为,该Controller正在检索单个项目的数据。我希望将默认操作命名为“get”,对于此操作,我希望url不显示操作名称,只显示

c# - Json.NET 基本类型 - 使用 Decimal 而不是 Double

从JSON解析float时,如何让JSON.NET返回小数而不是double?(这是一个序列化的带有Dictionary的对象)。我已经尝试编写一个JsonConverter,但是CanConvert方法没有被调用为Double类型以尝试转换它。还有其他关于覆盖JsonTextReader的代码,但这在最新版本的Json.Net中似乎不可能。 最佳答案 在Json.NET5.0中,Newtonsoft.Json.JsonSerializerSettings类有新的属性FloatParseHandling,你可以设置这个属性值Newt

c# - 只有一个对象时将 XML 转换为 Json 数组

我目前正在使用Newtonsoft将一些xml转换为json以从RestExtension返回。我的xml是的形式namedetailnamedetail我使用将其转换为jsonJsonConvert.SerializeXmlNode(xmldocument);如果有多个项目,这会很好地工作。我明白了-json中的项目数组(这是我需要的):{"Items":{"Item":[{"Name":"name","Detail":"detail"},{"Name":"name","Detail":"detail"}]}}但是当只有一个时,它会像这样转换(不是数组),这是可以理解的:{"Item

c# - 有没有办法在 ASP.NET MVC 3 RC2 中禁用 JSON ModelBinder?

在ASP.NETMVC3RC2中,如果Content-Type设置为application/json,则默认的ModelBinder将自动解析请求主体。问题是,这会在流的末尾留下Request.InputStream。这意味着如果您尝试使用自己的代码读取输入流,您首先会将其重置回开头://clientsendsHTTPrequestwithContent-Type:application/jsonandaJSON//stringinthebody//requestBodyisnullbecausethestreamisalreadyattheendvarrequestBody=newS

c# - 使用 Newtonsoft.json.JsonTextWriter 编写 Json

我正在使用Newtonsoft.json.JsonTextWriter编写一个json。这是我的代码:StringBuildersb=newStringBuilder();StringWritersw=newStringWriter(sb);JsonWriterjsonWriter=newJsonTextWriter(sw);jsonWriter.Formatting=Formatting.Indented;jsonWriter.WritePropertyName("Name");jsonWriter.WriteValue("Allan");我假设sw具有json格式{"Name":"

c# - 使用 newtonsoft.json 反序列化 List<AbstractClass>

我正在尝试序列化和反序列化abstract类列表(mustinheritforvb),显然其中只有派生类的实例。我用JsonProperty(ItemTypeNameHandling=TypeNameHandling.Auto)修饰了列表参数,获得如下所示的输出:但是我反序列化的时候一直说他不能反序列化一个抽象类。http://james.newtonking.com/json/help/index.html?topic=html/SerializeTypeNameHandling.htmpublicclassConcreteClass{privateObservableCollect