将字节解析为字节,而不是字符串

时间:2017-09-07 11:36:28

标签: c# json json.net

我从Java第三方系统收到一些JSON,其中包含JSON格式的Avro架构。一个例子如下:

{"type":"record", "name":"AvroRecord", "namespace":"Parent.Namespace", "fields": [{"name":"AvroField", "type":"bytes", "default":"\u00FF"}]}

我解析这个JSON来做一些C#代码生成。结果如下:

public partial class AvroRecord
{
    [AvroField(Name = "AvroField", Type = "bytes", DefaultValueText = "ÿ")]
    public byte[] AvroField { get; set; }

    public AvroRecord() {  this.AvroField = new byte[] { 255 }; }
}

最终,从架构的C#表示,我需要推断支持原始架构。一旦我得到推断的模式,它将被发送到原始系统进行比较。这就是为什么我想保留默认值的原始字符串值,因为我不知道是否:

{"type":"record", "name":"AvroRecord", "namespace":"Parent.Namespace", "fields": [{"name":"AvroField", "type":"bytes", "default":"\u00FF"}]}

{"type":"record", "name":"AvroRecord", "namespace":"Parent.Namespace", "fields": [{"name":"AvroField", "type":"bytes", "default":"ÿ"}]}

会导致完全匹配,否则会出现问题。

我使用JSON.NET将原始模式转换为字符串,转换为可以使用的更有用的东西:

JToken token = JToken.Parse(schema);

在JSON.NET或任何其他JSON解析库中是否有办法控制解析并复制值而不进行解析?基本上,一种避免“\ u00FF”成为“ÿ”的方法

0 个答案:

没有答案