我有一门课,比如:
class Car {
private Engine myEngine;
@JsonProperty("color")
private String myColor;
@JsonProperty("maxspeed")
private int myMaxspeed;
@JsonGetter("color")
public String getColor()
{
return myColor;
}
@JsonGetter("maxspeed")
public String getMaxspeed()
{
return myMaxspeed;
}
public Engine getEngine()
{
return myEngine;
}
}
发动机等级如下
class Engine {
@JsonProperty("fueltype")
private String myFueltype;
@JsonProperty("enginetype")
private String myEnginetype;
@JsonGetter("fueltype")
public String getFueltype()
{
return myFueltype;
}
@JsonGetter("enginetype")
public String getEnginetype()
{
return myEnginetype;
}
}
我想使用Jackson将Car对象转换为JSON,其结构如下
'car': {
'color': 'red',
'maxspeed': '200',
'fueltype': 'diesel',
'enginetype': 'four-stroke'
}
我已经尝试了本文提供的答案,但它对我不起作用,因为字段名和getter不同
我知道如果字段名是engine,我可以在engine上使用@jsonunwrpped。但在这种情况下该怎么办呢。
我认为这里最好的解决方案是在您的引擎
类中的
myEngineType
属性上使用注释,它只会序列化此属性,而不是整个
引擎
对象。
因此,您的代码如下所示:
class Engine {
@JsonProperty("fueltype")
private String myFueltype;
@JsonValue
@JsonProperty("enginetype")
private String myEnginetype;
}
您可以查看此答案以了解更多详细信息。
对于所需的JSON对象,您应在Car类中使用@JsonUnlie
,如下所示:
class Car {
@JsonUnwrapped
private Engine myEngine;
@JsonProperty("color")
private String myColor;
@JsonProperty("maxspeed")
private int myMaxspeed;
...
一起提供@JsonUn包装
和@JsonProperty
:
@JsonUnwrapped
@JsonProperty("engine")
private Engine myEngine;
问题内容: 根据本文档,我只能在具有相同名称的字段之间建立联接。 您是否知道是否可以在名称不同的字段上连接两个DataFrame? SQL中的等效项为: 问题答案: 我认为您可以使用来实现。传递关键字参数作为,并告诉Pandas每个DataFrame中的哪一列用作键: 文档在本页上对此进行了详细描述。
问题内容: 我正在使用杰克逊将我的对象转换为json。该对象具有2个字段: 由于我想将其与jQuery自动完成功能一起使用,因此我希望“ id”在json中显示为“ value”,在“ name”中显示为“ label”。杰克逊的文档不明确这一点,我已经想尽注释,甚至远程好像它做什么,我需要,但我不能让显示为,并显示为在JSON。 有谁知道该怎么做或是否可能? 问题答案: 您是否尝试过使用@Jso
问题内容: 有人可以帮我弄这个吗。 我有我的选择查询 我想要选择查询的内容,并在下载csv文件时包含标题,因此我执行了以下查询: 但这给了我这个错误 我想在我下载的csv文件中有这样的输出: 先感谢您。 问题答案: 如错误所示:来自查询的词典包含的键多于您在DictWriter构造函数中指定的字段名称。 一种解决方案是提前对其进行过滤,如下所示: 另一种解决方案是仅使用那些字段来构造查询: 但是,
问题内容: 如果json字段包含冒号(:),我们如何解析?像这样: 实际上,我想知道如何使用诸如restsharp之类的库来进行映射? 问题答案: 使用Json.Net 要么
我得到了(超过)两个Api POSTendpoint。每一个都需要一个json作为参数。但是当我在两个endpoint参数类中使用相同的类名负载时,Swagger就不起作用了。当我改变其中的一个,例如从有效载荷到有效载荷1时,它就不起作用了。当然,我在包装类中设置了正确的名称空间,以便它找到负载。但我希望每次都使用相同的名称“有效载荷”。如何使用相同的类名负载?在这两种情况下,我都可以保留json
我有一个Java程序,我可以把它变成一个安装程序exe,使一个应用程序exe 我希望安装程序exe看起来像,而实际的应用程序看起来像jpackage,我看不到这样做的方法,也看不到其他人这样做的例子。目前,我的安装程序和我的应用程序具有相同的名称。 我不想要jpackage的替代品,我知道还有其他方法,我只是在寻找用jpackage做这件事的方法。