我有一个示例课程:
class Zoo {
public Collection<? extends Animal> animals;
}
Run Code Online (Sandbox Code Playgroud)
当使用MOXy序列化时,我得到:
{
"bird": [
{
"name": "bird-1",
"wingSpan": "6 feets",
"preferredFood": "food-1"
}
],
"cat": [
{
"name": "cat-1",
"favoriteToy": "toy-1"
}
],
"dog": [
{
"name": "dog-1",
"breed": "bread-1",
"leashColor": "black"
}
]
}
Run Code Online (Sandbox Code Playgroud)
为什么它使用数组指示符"[]",而鸟,猫和狗不是数组?第二,有没有办法摆脱"鸟","猫"和"狗"?
换句话说,我试图去:
{
{
"name": "bird-1",
"wingSpan": "6 feets",
"preferredFood": "food-1"
}
,
{
"name": "cat-1",
"favoriteToy": "toy-1"
}
,
{
"name": "dog-1",
"breed": "bread-1",
"leashColor": "black"
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢,Behzad
这是我的课程:
@XmlRootElement(name="Zoo")
class Zoo {
//@XmlElementRef
public Collection<? extends Animal> animals;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlSeeAlso({Bird.class, Cat.class, Dog.class})
@XmlDiscriminatorNode("@type")
abstract class Animal {
@XmlElement
public String name;
}
@XmlDiscriminatorValue("Bird")
@XmlRootElement(name="Bird")
class Bird extends Animal {
@XmlElement
public String wingSpan;
@XmlElement
public String preferredFood;
}
@XmlDiscriminatorValue("Cat")
@XmlRootElement(name="Cat")
class Cat extends Animal {
@XmlElement
public String favoriteToy;
}
@XmlDiscriminatorValue("Dog")
@XmlRootElement(name="Dog")
class Dog extends Animal {
@XmlElement
public String breed;
@XmlElement
public String leashColor;
}
Run Code Online (Sandbox Code Playgroud)
这是序列化的JSON:
{
"animals": [
{
"type": "Bird",
"name": "bird-1",
"wingSpan": …Run Code Online (Sandbox Code Playgroud) I am using Confluent's kafka-connect-jdbc to read data from different RDBMS into kafka. Here is my test table:
CREATE TABLE DFOCUSVW.T4(
COL1 VARCHAR(100) NOT null,
COL2 DECIMAL(6, 3) NOT null,
COL3 NUMERIC(6, 3) NOT null,
COL4 DECIMAL(12, 9) NOT null,
COL5 NUMERIC(12, 9) NOT null,
COL6 DECIMAL(18, 15) NOT null,
COL7 NUMERIC(18, 15) NOT null,
COL8 INTEGER NOT null,
Td_Update_Ts timestamp NOT null,
PRIMARY KEY (col1)
);
Run Code Online (Sandbox Code Playgroud)
In my view, the numeric.mapping=best_fit could convert for COL2...COL5 into FLOAT64 (15 digits …
我必须进行两次api调用以获得追随者数量.因此,以每小时5000的速度,我每小时可获得2500个跟随者数!因此,要获得20000个追随者计数需要大约10个小时.Facebook和Twitter API都支持批量调用.那么,我想知道Instagram是否也支持批量通话?看看instagram文档,我没有看到任何批处理的概念!
谢谢,
目前,我正在研究一个基于架构的 restFul 项目。因此,我们使用 JAXB 进行 XSD-->JAVA 转换。我有一个类如下:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"systemResponse"
})
@XmlRootElement(name = "RestResponse")
public class RestResponse implements Serializable {
private final static long serialVersionUID = 1L;
@XmlElementRef(name = "SystemResponse", namespace = "http://www.intuit.com/psd/cdm/v1", type = JAXBElement.class)
protected JAXBElement<? extends CdmComplexBase> systemResponse;
...
}
Run Code Online (Sandbox Code Playgroud)
这是它的序列化方式:
{"systemResponse":{"name":"{http://www.intuit.com/psd/cdm/v1}Transactions","declaredType":"com.intuit.psd.cdm.v1.Transactions","scope":"javax.xml.bind.JAXBElement$GlobalScope","value":{"requestId":null,"requestName":null,"isEncrypted":null,"totalCount":null,"pageSize":null,"genDuration":null,"genDateTime":null,"transaction":[{"id":null,"externalKey":[],"metaData":null,"accountNumber":"12345678798","transactionNumber":null,"transactionReference":null,"batchID":null,"batchCycleDate":null,"paymentType":null,"paymentMethod":null,"transactionType":null,"cardType":null,"amount":null,"transactionDate":null,"authCode":null,"customerTransactionID":null,"ccnumberFirstSix":null,"ccnumberLastFour":null,"etctype":null,"posentryType":null}]},"nil":false,"globalScope":true,"typeSubstituted":false}}
Run Code Online (Sandbox Code Playgroud)
尝试反序列化时,出现以下异常:
Exception in thread "main" com.fasterxml.jackson.databind.JsonMappingException: No suitable constructor found for type [simple type, class javax.xml.bind.JAXBElement<com.intuit.psd.cdm.v1.CdmComplexBase>]: can not instantiate from JSON object (need to add/enable type information?)
at [Source: java.io.StringReader@725d9aa7; …Run Code Online (Sandbox Code Playgroud) 我有一个奇怪的用例,当我在'then:'部分中没有检查模拟类的两个调用时,spock mock返回正确的值,但是当我在'then:中包含两个检查时它返回0: ' 部分.这是模拟:
mockDao.readCounter(_, _, _, _, _) >> dbValue
Run Code Online (Sandbox Code Playgroud)
这是失败的'then:'部分:
1 * mockDao.readCounter(_, _, _, _, _)
// updateCounters is called with: sum = dbValue + value
1 * mockDao.updateCounter(namespace, date, key, min, shardID, dbValue + value)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,不是'dbValue',而是返回'0'.但如果我注释掉两个检查中的任何一个,那么它就会通过.因此,以下两种情况通过:
//1 * mockDao.readCounter(_, _, _, _, _)
// updateCounters is called with: sum = dbValue + value
1 * mockDao.updateCounter(namespace, date, key, min, shardID, dbValue + value)
OR
1 * mockDao.readCounter(_, _, _, _, _)
// updateCounters is called with: …Run Code Online (Sandbox Code Playgroud) json ×3
java ×2
moxy ×2
apache-kafka ×1
avro ×1
decimal ×1
eclipselink ×1
groovy ×1
jackson ×1
jdbc ×1
jettison ×1
marshalling ×1
mocking ×1
spock ×1
unit-testing ×1