[ https://issues.apache.org/jira/browse/AVRO-3001?focusedWorklogId=803764&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-803764 ]
ASF GitHub Bot logged work on AVRO-3001: ---------------------------------------- Author: ASF GitHub Bot Created on: 25/Aug/22 20:02 Start Date: 25/Aug/22 20:02 Worklog Time Spent: 10m Work Description: KyleSchoonover commented on code in PR #1833: URL: https://github.com/apache/avro/pull/1833#discussion_r955370460 ########## lang/csharp/src/apache/main/IO/JsonDecoder.cs: ########## @@ -0,0 +1,765 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using Avro.IO.Parsing; +using Newtonsoft.Json; + +namespace Avro.IO +{ + /// <summary> + /// A <see cref="Decoder"/> for Avro's JSON data encoding. + /// + /// JsonDecoder is not thread-safe. + /// </summary> + public class JsonDecoder : ParsingDecoder + { + private JsonReader reader; + private readonly Stack<ReorderBuffer> reorderBuffers = new Stack<ReorderBuffer>(); + private ReorderBuffer currentReorderBuffer; + + private class ReorderBuffer + { + public readonly IDictionary<string, IList<JsonElement>> SavedFields = + new Dictionary<string, IList<JsonElement>>(); + + public JsonReader OrigParser; Review Comment: I am aware it is a private class. The shorter method is fine. Issue Time Tracking ------------------- Worklog Id: (was: 803764) Time Spent: 7h (was: 6h 50m) > JsonEncode Decode support for C# > -------------------------------- > > Key: AVRO-3001 > URL: https://issues.apache.org/jira/browse/AVRO-3001 > Project: Apache Avro > Issue Type: Improvement > Components: csharp > Affects Versions: 1.10.0, 1.11.0 > Reporter: Krishnan Unni > Assignee: Robert Yokota > Priority: Major > Labels: pull-request-available > Fix For: 1.12.0 > > Time Spent: 7h > Remaining Estimate: 0h > > The C# library for avro currently supports only the Binary encoding and also > with compile time types (Generic support only). As part of a project I am > doing I need to validate the avro schema against the incoming json data on > the fly without a predefined type (generated class). So basically comparing > an avro schema (string/json representation) against a raw json string. It is > possible with the Java library since it supports both non generic types and > streams as well as json encoding. With C# currently this is not possible. Is > there a plan to extend the C# library to provide these features? If yes, is > there a timeline? If not is there any alternative to achieve this? -- This message was sent by Atlassian Jira (v8.20.10#820010)