Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id F21AE200C7F for ; Wed, 24 May 2017 16:18:10 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id F0A83160BB4; Wed, 24 May 2017 14:18:10 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 44E13160B9C for ; Wed, 24 May 2017 16:18:10 +0200 (CEST) Received: (qmail 70820 invoked by uid 500); 24 May 2017 14:18:09 -0000 Mailing-List: contact dev-help@avro.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@avro.apache.org Delivered-To: mailing list dev@avro.apache.org Received: (qmail 70809 invoked by uid 99); 24 May 2017 14:18:09 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 May 2017 14:18:09 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 1432FC18AA for ; Wed, 24 May 2017 14:18:09 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.202 X-Spam-Level: X-Spam-Status: No, score=-99.202 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id fxuVuN92C4KR for ; Wed, 24 May 2017 14:18:08 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 69BE05FDD2 for ; Wed, 24 May 2017 14:18:07 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 2EF60E05CE for ; Wed, 24 May 2017 14:18:07 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 1D6092400A for ; Wed, 24 May 2017 14:18:05 +0000 (UTC) Date: Wed, 24 May 2017 14:18:05 +0000 (UTC) From: "MihkelJ (JIRA)" To: dev@avro.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (AVRO-1582) Json serialization of nullable fileds and fields with default values improvement. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 24 May 2017 14:18:11 -0000 [ https://issues.apache.org/jira/browse/AVRO-1582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16022951#comment-16022951 ] MihkelJ commented on AVRO-1582: ------------------------------- We ran up against this issue recently, so I've created a standalone encoder from Zoltan Farkas' excellent ExtendedJsonDecoder, until this issue is resolved: https://github.com/Celos/avro-json-decoder It handles point b) from above, infers the value of missing fields from their defaults. The only advantage is that it doesn't require forked avro. > Json serialization of nullable fileds and fields with default values improvement. > --------------------------------------------------------------------------------- > > Key: AVRO-1582 > URL: https://issues.apache.org/jira/browse/AVRO-1582 > Project: Avro > Issue Type: Improvement > Components: java > Affects Versions: 1.8.0 > Reporter: Zoltan Farkas > Attachments: AVRO-1582-PATCH > > > Currently serializing a nullable field of type union like: > "type" : ["null","some type"] > when serialized as JSON results in: > "field":{"some type":"value"} > when it could be: > "field":"value" > Also fields that equal the the default value can be omitted from the serialized data. This is possible because the reader will have the writer's schema and can infer the field values. This reduces the size of the json messages. -- This message was sent by Atlassian JIRA (v6.3.15#6346)