草庐IT

json-iterator

全部标签

c# - 如何在 Json.net 中强制保留最小小数位数?

当我使用json.net将小数写入json时,我遇到了一个恼人的不一致问题。有时是1dp,有时是2。显然我知道将小数输出到具有一定小数位数的字符串的解决方案,例如this,但我想如果不编写自定义序列化程序,您就无法使用json.net进行控制。我也知道Math.Round强制执行最大小数位数,这个问题与强制执行最小小数位数有关。前两个测试显示了正在发生的事情,它保留了声明或计算中的原始小数位数。我发现我可以添加然后减去一小部分,接下来的两个测试显示它有效,但是有没有更简洁的方法?[TestFixture]publicsealedclassDecimalPlaces{publicclas

c# - 如何使用 json.net 将 json 数组添加到 JObject 的属性中

我很难弄清楚如何将一组json对象添加到现有的JObject。假设我有一个只有“Modified”属性的JObject,我想添加另一个包含json对象数组的属性“IntersectGroups”,我该怎么做?我有一个JObject[],当我序列化它时它完全符合我需要的格式,但我正在寻找这样的东西:mainJObject.Add("IntersectGroups",myJObjectArray)这是我序列化时想要的最终json的示例。..."Modified":"2012-11-26T10:21:04.693","IntersectGroups":[{"Id":1004,"UserId"

c# - WebAPI、JSON.Net 和丢失小数精度

我在使用WebAPI和JSON.Net时遇到了一些奇怪的问题。在反序列化已提交给我的API的JSON时,我似乎失去了精度!我将小数点保留到小数点后3位,但是当值在我的对象中具体化时,它只保留到小数点后2位!我提交的JSON如下所示:{id:1,name:'mockdata',value:123.456}这绑定(bind)到一个看起来像这样的类:publicclassMockObject{publicintId{get;set;}publicstringName{get;set;}publicdecimalValue{get;set;}}为了完整起见,这基本上是我的WebAPI方法的样子

c# - 如何测试 Web API JSON 响应?

我正在尝试为我的网络API设置单元测试。我从网上找到的一些零零碎碎的东西中整理了一些测试代码。我已经发送了测试请求并收到了响应,但我一直在测试响应。这就是我到目前为止所得到的。这是使用xunit测试包,但我认为这对我要实现的目标并不重要。(为困惑的代码道歉)[Fact]publicvoidCreateOrderTest(){stringbaseAddress="http://dummyname/";//ServerHttpConfigurationconfig=newHttpConfiguration();config.Routes.MapHttpRoute("Default","ap

c# - 使用 RestSharp 获取 JSON 响应

我是C#的新手,我正在尝试使用RestSharp从REST请求中获取JSON响应;我要执行的请求如下:"http://myurl.com/api/getCatalog?token=saga001"。如果我在浏览器中执行它,效果会很好。我已经试过了:varclient=newRestClient("http://myurl.com/api/");varrequest=newRestRequest("getCatalog?token=saga001");varqueryResult=client.Execute(request);Console.WriteLine(queryResult)

c# - 如何在使用 JSON.Net 序列化期间有条件地忽略字段和属性?

如何使用JSON.Net在序列化过程中有条件地忽略字段和属性?我无法从JsonIgnoreAttribute继承,因为它是一个sealed类。我该怎么办? 最佳答案 您可以使用JSON.NET的ShouldSerialize语法。JSON.NET网站上有一个很好的例子:http://www.newtonsoft.com/json/help/html/ConditionalProperties.htmpublicclassEmployee{publicstringName{get;set;}publicEmployeeManager{

c# - Json.net 慢序列化和反序列化

我有一个问题-Json.Net序列化我的对象真的很慢。我有一些基础类(class):publicclassauthenticationRequest{publicstringuserid;publicstringtid;publicstringtoken;publicstringplatform;publicstringversion;}我正在用序列化它stringjsonDataToSend=JsonConvert.SerializeObject(dataToSend);此操作大约需要1900毫秒。与来自Json.netCodePlex的信息相比页:这需要很长时间。出于测试目的,我将

c# - 在 ASP.Net Core 项目中使用 ADO.Net 将 JSON 类型作为参数传递给 SQL Server 2016 存储过程

有人可以举例说明如何在C#ASP.NetCoreWebApi项目中使用ADO.Net将JSON类型作为参数传递给SQLServer2016存储过程吗?我想在C#ASP.NetCoreWebApi中查看SQLServer2016存储过程和JSON类型传递的示例。 最佳答案 SQLServer中没有json数据类型,您可以简单地将json作为nvarchar(max)发送到存储过程。如果您想将json映射到表,您可以使用OPENJSON将数据转换为行和列。CREATEPROCEDURESaveJSON@pIDint,@pJsonnvar

c# - 使用 JSON 序列化/反序列化 TimeSpan

我正在尝试使用Newtonsoft.Json.JsonConvert反序列化/序列化时间跨度,但是当发送JSON时,它被设置为00:00:00。这甚至可以做到吗? 最佳答案 我尝试了#Jessycormier的方法,但它对我不起作用。我运行DataContractJsonSerializer以查看它会生成什么,我发现它给了我一个看起来更像这样的值。{"PassedTimeSpan":"P1DT2H3M4S"}上面显示的值是1天2小时3分4秒。所以看起来格式是:[-]P[{days}D][T[{hours}H][{min}M][{se

c# - Json:如何使用 json.net 正确去除转义字符

我有以下格式的json响应。"[{\\\"JobID\\\":\\\"1\\\",\\\"BillGenerationDate\\\":\\\"4/29/20132:53:34PM\\\",\\\"BillID\\\":\\\"115743\\\",\\\"BillNo\\\":\\\"115743\\\",\\\"CustomerID\\\":\\\"4041705\\\",\\\"PayStatus\\\":\\\"0\\\",\\\"PaymentRequiredStatus\\\":\\\"True\\\",\\\"ProductName\\\":\\\"EpicFBOtest