static void Main(string[] args) { var dataMetaInfo = new DataModel.DataMetaInfo { JobInfo = new DataModel.JobInfo { Name = "R&D", Department = "Tech. Department", }, PersonInfo = new DataModel.PersonInfo { Name = "Tom", Age = 22, Gender = DataModel.PersonInfo.Types.Gender.Male, }, Channels = 20, SamplingRate = 16000, DataWidth = DataModel.DataMetaInfo.Types.DataWidth.Custom, CustomDataWidth = 6, }; var json = JsonConvert.SerializeObject(dataMetaInfo, Formatting.Indented); WriteLine(json); var json2 = new pb.JsonFormatter(pb.JsonFormatter.Settings.Default).Format(dataMetaInfo); WriteLine(json2); var jsonParserSettings = new pb.JsonParser.Settings(10).WithIgnoreUnknownFields(true); var dataMetaInfo2 = new pb.JsonParser(jsonParserSettings).Parse <DataModel.DataMetaInfo>(json); var json3 = JsonConvert.SerializeObject(dataMetaInfo2, Formatting.Indented); WriteLine(json3); WriteLine(json == json3); ReadKey(); }
// Convenience method to avoid having to repeat the same code multiple times in the above // dictionary initialization. private static void MergeWrapperField(JsonParser parser, IMessage message, JsonTokenizer tokenizer) { parser.MergeField(message, message.Descriptor.Fields[WrappersReflection.WrapperValueFieldNumber], tokenizer); }