【Java-杰克逊:拆分json并填充已知和未知属性】教程文章相关的互联网学习教程文章

c# – json.net序列化继承自List的类的附加条件属性【代码】

我有一个继承自List< T>的集合类public class TestCollection : List<Test> {public virtual String SomeTestingDetail { get; set; } }Json.NET将序列化一组测试对象,但不包括SomeTestingDetail属性. 有没有办法强制这个属性也被序列化?解决方法:JSON.net序列化程序将List转换为数组,直接在集合中的任何属性都将被忽略.来自Json.Net站点“因为JSON数组只支持一系列值而不支持属性,所以.NET集合上声明的任何其他属性和字段都不会被...

c# – Json.NET在序列化上获取通用属性类型名称?【代码】

我试图找出如何从我的API返回核心对象public class Response<T> {public T Data {get;set;} }其中T是具有属性的某个对象,例如public class Thang {public string Thing {get;set;} }使用JsonConvert.Serialize(myResponse);将T Data属性作为Data返回,这是正确的. 但是,如果我想使用T的类型名称呢?因此响应Json实际上会包含一个名为Thang not Data的属性,如下所示.{"thang": {"thing" : "hey"} }我很好奇是否有一个相对简单的方法...

java – 在使用GSON时忽略特定的JSON属性【代码】

我正在使用谷歌的GSON.我有一个像这样的JSON数据文件:{"NAME":"Joe", "AGE":"18", "DATA":[0,0,0,0,0,...]}DATA是一个非常非常大的数组. 我想阅读JSON文件,但省略了解析的特定属性.在上面的例子中,我想省略读取DATA,因此接收一个只包含NAME和AGE的JsonObject. 我有成千上万的这些文件,我需要阅读每个文件的NAME和AGE字段.很明显我不需要解析DATA,考虑到我需要处理的文件数量,我认为这是浪费大量资源. 这可以使用谷歌的GSON实现吗?...

c# – JSON.net(de)序列化无类型属性【代码】

假设我有一个这样的类:public class Example {public int TypedProperty { get; set; }public object UntypedProperty { get; set; } }假设某人出现并写道:var example = new Example {TypedProperty = 5,UntypedProperty = Guid.NewGuid() }如果我用JsonConvert.SerializeObject(示例)序列化它,我得到{"TypedProperty": 5,"UntypedProperty": "24bd733f-2ade-4374-9db6-3c9f3d97b12c" }理想情况下,我想得到这样的东西:{"TypedP...

java – 根据与Jackson的API版本指定不同的JSON属性名称【代码】

我需要能够使用Jackson同时支持多个API版本来序列化/反序列化对象.我已经探索过如下解决方案: > @JsonProperty> PropertyNamingStrategy> Mixin注释 但是,每一个都会导致自己的问题. @JsonProperty是一个完美的解决方案,如果我可以直接在注释中添加具有正确名称的多个版本:@JsonProperty(api="1.5", "fname") @JsonProperty(api="1.6", "firstname") String firstName;随着时间的推移,可能会有很长的时间,但它肯定很容易理解.但是...

c# – JSON to Model属性绑定使用JsonProperty【代码】

我受到我方和客户之间协议的约束,使用包含破折号的json参数.由于无法在C#中的属性名称中使用它,我需要映射到所需的属性. 我现在应该做什么:The below code is simplified for convenience.模型public class MyRequest {[JsonProperty("request-number")]public string RequestNumber { get; set; }[JsonProperty("name")]public string Name { get; set; } }调节器[HttpGet] [Route("api/load-stuff")] public Stuff LoadStuff([F...

c# – ASP.NET Core和formdata绑定文件和json属性【代码】

我有以下型号:public class MyJson {public string Test{get;set;} }public class Dto {public IFormFile MyFile {get;set;}public MyJson MyJson {get;set;} }在客户端,我想发送一个文件和一个json.所以我使用以下键在formData中发送它:var formData = new FormData(); formData["myFile"] = file//here is my file formData["myJson"] = obj; // object to be serialized to json.我的动作如下:public void MyAction(Dto dto)...

当json对象已经存在时,如何使用属性添加新的值集…使用javascript【代码】

我已经有了json对象..就像这样,updates={mainUpdates:[{id:'1', inner:[{mid:'11',sub_domain:'a'},{mid:'12',sub_domain:'b'}]},{id:'2', inner:[{mid:'21', sub_domain:'c'},{mid:'22',sub_domain:'d'}]} ],msgCount:'2' }现在我想要将名称(属性)的新值动态添加到现有的json对象中.使用javascrit …我希望确切的答案看起来像updates={mainUpdates:[{id:'1', inner:[{mid:'11',sub_domain:'a'},{mid:'12',sub_domain:'b'}]},{id:'...

javascript – JSON引用以前的属性【代码】

我在Stackoverflow上看到了类似于我的问题,但是大多数人只提供了各种各样的工作,我不是在寻找. 我希望我的JSON中的属性能够引用同一对象中的前一个属性:var x = {a : 1,b : a + 1 };我试过b:this.a 1,但那不起作用. 为什么我不能用“a”来定义“b”?同样,我不是在寻找变通方法,只是洞察力和理解力. 谢谢解决方法:你不能这样做.创建对象时,它和它的属性在语句完成之后才会存在.您无法在创建时引用对象或其属性. 你可以这样做:va...

javascript – 如何仅从JSON解析某些属性和值【代码】

我正在尝试解析JSON.以下示例,[ {"id": "(error)","raw": "Expected an assignment or function call and instead saw an expression.","code": "W030","evidence": "v","line": 1,"character": 1,"scope": "(main)","reason": "Expected an assignment or function call and instead saw an expression."},{"id": "(error)","raw": "Missing semicolon.","code": "W033","evidence": "v","line": 1,"character": 2,"scope": "(mai...

ASP.NET MVC模型绑定 – JSON属性和C#模型属性的不同名称【代码】

我已经注释了我的模型类的属性,如下所示.[DataMember(Name = "EN")] public string EmployeeName{ get; set; }这总体上产生了一个紧凑的JSON(我使用JSON.NET序列化器进行序列化). 但是,当使用POST或PUT请求向控制器传递包含这些较小名称的JSON时,ASP.NET MVC模型绑定无法将“EN”JSON属性正确映射到EmployeeName.它期望JSON中的EmployeeName. 有关如何解决此问题的任何想法?解决方法:你不能开箱即用.你有两种解决方法:在viewmode...

C#Json.Net使用虚拟属性序列化实体【代码】

我正在尝试使用虚拟导航属性序列化复杂对象.出于某种原因,当我尝试使用WebApi(从控制器返回)或使用JsonConvert.Serialize(myObject)序列化此对象时,我的所有虚拟属性都为null.当我检查我的对象时,我可以看到所有这些都是代理对象.出于某种原因,json.net对这些代理对象的效果不佳.如何获取序列化的虚拟属性?解决方法:正如评论中提到的那样,问题是尝试序列化延迟加载的实体框架属性并不像那样工作.如果链接了所有代理链接,您最终可以...

java – 使用Jackson反序列化包含在具有未知属性名称的对象中的JSON【代码】

我正在使用Jackson将JSON从ReST API反序列化为使用Jackson的Java对象. 我遇到的问题是,一个特定的ReST响应包含在由数字标识符引用的对象中,如下所示:{"1443": [/* these are the objects I actually care about */{"name": "V1","count": 1999,"distinctCount": 1999/* other properties */},{"name": "V2","count": 1999,"distinctCount": 42/* other properties */},...] }我的(可能是天真的)将JSON反序列化的方法一直是创建镜像...

c# – 如何使用DataAnnotation将对象序列化为JSON,以使用ServiceStack请求格式化double属性【代码】

使用ServiceStack我需要格式化这个请求,以便CodValue属性保持这种格式#.#[DataContract(Name = "request1")] public class Request1 {[DataMember(Name = "codValue")]public double CodValue { get; set; } }var request1 = new Request1 { CodValue = 0.0 } _serviceClientBase.Post(request1);但是,当我发送请求时,服务器端收到CodValue = 0但是由于服务器端是Java,它会返回一个错误,说它是Java.Lang.Long而不是Double. 如何强制...

c# – 无法反序列化名称为“$type”的json属性【代码】

参见英文答案 > How to get Json variable with $symbol 4个似乎有一个名为“$type”的json属性名称存在问题.如果我将名称更改为“$typ”或“$typee”,它似乎正在工作.起初我以为有一个不可见的Unicode字符,但这似乎并非如此,因为我将json和属性值复制粘贴到Jon Skeet’s Unicode Explorer并且我看不到任何奇怪的东西using Newtonsoft.Json; using System;namespace ConsoleAppCompare {class ...