请参阅以下示例代码:
$(function () {
$("#TheForm").submit(function (e) {
var status = this.value;
e.preventDefault();
$.ajax({
type: "Post",
url: '@("/fetch/getadvancedsearch")',
dataType: "json",
data: JSON.stringify($("#TheForm").serializeArray()),
contentType: "application/json; charset=utf-8",
success: ....
产生:
User datum = new User("a123456", "my.email@world.com");
Schema schema = ReflectData.get().getSchema(datum.getClass());
DatumWriter<Object> writer = new ReflectDatumWriter<>(schema);
ByteArrayOutputStream output = new ByteArrayOutputStream();
Encoder encoder = EncoderFactory.get().binaryEncoder(output, null);
writer.write(datum, encoder);
encoder.flush();
byte[] bytes = output.toByteArray();
System.out.println(new String(bytes));
我曾假设所有Avro编写者都会发布架构信息以及数据,但事实并非如此。
如果我将a123456$my.email@world.com
与GenericDatumWriter
结合使用,我可以成功打印架构,但我希望使用DataFileWriter
因为我不想构建ReflectDatumWriter
我自己(我希望图书馆这样做)
如何将模式序列化?
答案 0 :(得分:0)
我自己解决了这个问题,你需要使用chromedriver.exe
,因为它包含了写入模式的create()方法中的一个条目
解决方案是将其与DataFileWriter
:
ByteArrayOutputStream