草庐IT

json-iterator

全部标签

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

c# - Json.NET - CustomCreationConverter 中单个属性的默认反序列化行为

在以下场景中,当CrazyItemConverter遇到我要反序列化到的类型中存在的JSON属性时,如何让它照常运行?我有一些像这样的JSON:{"Item":{"Name":"Apple","Id":null,"Size":5,"Quality":2}}JSON被反序列化为一个看起来很像这样的类:[JsonConverter(typeof(CrazyItemConverter))]publicclassItem{[JsonConverter(typeof(CrazyStringConverter))]publicstringName{get;set;}publicGuid?Id{ge

c# - Json.NET 可以使用 Formatting 序列化流式传输吗?

当使用Json.NET库时,您可以在序列化为字符串时指定格式,但在直接序列化为流时我找不到此选项。我错过了什么吗?两种序列化方式的代码如下:publicstaticstringSerialize(MyObjectobj){JsonSerializerSettingssettings=GetJsonSerializerSettings();returnJsonConvert.SerializeObject(obj,Formatting.Indented,settings);}publicstaticvoidSerializeToStream(MyObjectobj,Streamstrea

c# - 使用SQL返回JSON字符串

这是一个“最佳实践”问题。我们正在就此主题进行内部讨论,并希望获得更广泛受众的意见。我需要将数据存储在具有常规列和行的传统MSSQLServer表中。有时我需要将DataTable返回到我的Web应用程序,而其他时候,我需要返回JSON字符串。当前,我将表返回到中间层并将其解析为JSON字符串。这似乎在大多数情况下都能很好地工作,但偶尔会在大型数据集上花费一些时间(解析数据,而不返回表)。我正在考虑修改存储过程,以有选择地返回DataTable或JSON字符串。我只需将@isJsonbit参数添加到SP。如果用户希望使用字符串而不是表,则SP将执行以下查询:DECLARE@result

c# - 如何序列化原始 json 字段?

我在数据库中有一个存储json字符串的字段我希望当我在json结果中返回它时,它将作为json原始数据返回,而不是用引号作为字符串扭曲。更新1(更多信息):如果您查看图像字段,它包含一个原始的json字符串值但是在用JsonResult序列化它之后,它会被引号扭曲,因为它是一种字符串,我如何告诉序列化程序将图像字段视为原始json数据?vardb=newModelsContainer();varres=db.Images.OrderByDescending(i=>i.DateCreated).Skip(skip).Take(take).Select(i=>new{id=i.Id,dat

c# - 在不知道索引的情况下在 C# 中解析 json

我想用JSON.NET在C#中解析这段JSON,但我不知道如何去做。JSON:{"success":true,"rgInventory":{"967633758":{"id":"967633758","classid":"23973033","instanceid":"11040671","amount":"1","pos":1},"302756826":{"id":"302756826","classid":"15","instanceid":"11041143","amount":"1","pos":2},...}}完整的Json:http://steamcommunity.com

c# - 如何使用 JSON 从 WCF REST 服务返回 Base64 编码的字节数组?

我有一个简单的WCFREST方法,它将返回字节数组中的图像/文件/等:[OperationContract][WebGet(UriTemplate="TestMethod")]byte[]TestMethod();服务契约绑定(bind)到具有以下行为的webHttpBinding:该方法工作正常,除了字节数组的格式如下:[25,15,23,64,6,5,2,33,12,124,221,42,15,64,142,78,3,23]如果我删除属性defaultOutgoingResponseFormat="Json",该服务默认为XML格式,并且结果在Base64中编码如下:GQ8XQAY