我试图将一个JSON有效负载转换为Avro以发布到一个Kafka主题。但是,当我执行Dataweave转换时,我会得到一个“no type”错误。我不确定是什么导致了这个错误。我最初认为这可能是由于转换不知道入站有效负载上的MIME类型。因此,我已经确保将其设置为application/json
,但这并没有什么不同。
Avro模式
{
"compatibility" : "forward",
"name": "ContentManagerCoupons",
"type": "record",
"namespace": "com.rentpath",
"fields": [
{
"name": "clientID",
"type": "string"
},
{
"name": "outputHistoryId",
"type": "string"
},
{
"name": "categoryCoupons",
"type": {
"type": "array",
"items": {
"name": "categoryCoupons_record",
"type": "record",
"fields": [
{
"name": "applyBy",
"type": [
"string",
"int",
"null"
]
},
{
"name": "applyPeriod",
"type": [
"string",
"null"
]
},
{
"name": "cashValue",
"type": [
"int",
"null"
]
},
{
"name": "couponCategory",
"type": "string"
},
{
"name": "cashOffDesc",
"type": [
"string",
"null"
]
},
{
"name": "endDate",
"type": [
"string",
"null"
]
},
{
"name": "feeType",
"type": [
"string",
"null"
]
},
{
"name": "freeWeeks",
"type": [
"string",
"null"
]
},
{
"name": "generatedText",
"type": "string"
},
{
"name": "leaseby",
"type": [
"string",
"null"
]
},
{
"name": "leaseTerm",
"type": [
"int",
"null"
]
},
{
"name": "offerText",
"type": [
"string",
"null"
]
},
{
"name": "startDate",
"type": "string"
},
{
"name": "unitType",
"type": [
"string",
"null"
]
}
]
}
}
}
]
}
{
"outputHistoryId": "55324456",
"clientID": "112345",
"categoryCoupons": [
{
"unitType": null,
"startDate": "07/21/2020",
"offerText": "This would be the special offer message.",
"leaseTerm": null,
"leaseby": null,
"generatedText": "This would be the special offer message..",
"freeWeeks": null,
"feeType": null,
"endDate": "10/01/2020",
"couponCategory": "Special Offer",
"cashValue": null,
"cashOffDesc": null,
"applyPeriod": null,
"applyBy": null
}
]
}
%dw 2.2
output application/avro schemaUrl="http://schema-registry.domain.com:8081/subjects/Coupon-value/versions/1"
---
payload
好像对我管用。也许在尝试访问架构时出现了问题。因为我没有访问该URL的权限,所以我用一个本地文件替换了它:
output application/avro schemaUrl="classpath://schema.json"
有一个网站这样做,但我想要一个图书馆或CLI。 谢了!
搞砸 使用的代码 我无法获得以下输出: 错误信息: 类型错误没有将符号隐式转换为整数 在多条记录的情况下,它可以正常工作 使用的代码
我有一个类似于Pairs的类。我有一个特性,可以将这个类转换成Json格式。 当我使用这个特性时,我得到了以下错误,即对于
我试图使用Kafka rest服务将JSON序列化为Avro对象,将JSON消息发送到Kafka主题,但Kafka rest无法接受JSON消息,错误如下: 我怀疑我正在使用的Avro架构存在问题,因为它是具有可空字段的嵌套记录类型。 Avro架构: Json 消息: 如果有人能帮助我了解问题所在,我将不胜感激。
我正在尝试从地图转换键iterable,但当我这样做时,我得到错误: 统计数字produceTypeData。钥匙不是一种功能 我将遵循这个问题的答案:如何将映射键转换为数组?让它工作。 当我尝试另一种方法(使用)时,我得到一个不同的错误,即: 类型IterableIterator不是数组类型。 在评论中我读到,在本例中,应该将数组括起来。扩展语法中的from()语句,但当我这样做时,我也会得到错
问题内容: 我想创建一个包含我的类的实例变量的JSON字符串。 例如, 会成为: 我研究了几个用于创建JSON的C ++库,它们似乎都异常复杂。我想要类似Javascript的东西。换句话说,只需将std :: map传递给它并接收一个字符串。该地图可能包含其他地图,向量,列表,字符串,数字和布尔值。 最好的方法是什么? 谢谢你的帮助。 编辑 我研究了以下内容: json spirit,jsonc