相关疑难解决方法(0)

使用Json.Net将字节数组解析为json

我正在尝试使用Json.Net 解析byte[]数组,Dictionary<String,Object>但没有成功

其实我对它的可能性有疑问.那有可能吗?与这个图书馆或任何其他图书馆?

这是我尝试过但DeserializeObject除了字符串作为参数afaik

public static Dictionary<String, Object> parse(byte[] json){
     Dictionary<String, Object> values = JsonConvert.DeserializeObject<Dictionary<String, Object>>(json);
     return values;
}
Run Code Online (Sandbox Code Playgroud)

c# json

16
推荐指数
2
解决办法
4万
查看次数

Newtonsoft JSON 序列化 byte[] 属性

public class MyClass
{
   public byte[] Bytes{get;set;}
}

MyClass obj = new MyClass();
obj.Bytes = new byte[]{1,22,44,55};

string s_result = Newtonsoft.Json.JsonConvert.SerializeObject(obj);

// my s_result looks like {"Bytes":"KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="}
Run Code Online (Sandbox Code Playgroud)

我想要像 "Bytes":"1,22,44,55" 这样的结果

我通过在类中再创建一个 int[] 属性来解决这个问题,例如

 public class MyClass
    {
       [JsonIgnore]
       public byte[] Bytes{get;set;}
       public int[] MessageByte
        {
            get
            {
              if (this.Bytes == null)
                return null;
                int[] result = new int[this.Bytes.Length];
                for (int i = 0; i < this.Bytes.Length; i++)
                {
                    result[i] = this.Bytes[i];
                }
                return result;
            }
        }

    }
Run Code Online (Sandbox Code Playgroud)

有什么建议 ?

c# arrays serialization json json.net

6
推荐指数
1
解决办法
1万
查看次数

Newton Soft Json JsonSerializerSettings 对象的属性为字节数组

使用 Newton.Json 进行 Json 序列化。要应用什么 JsonSerializerSettings ,当我必须将具有属性的对象 Json 序列化为字节数组,然后以十六进制格式显示字节数组时..

例如

class A
{
  public int X {get;set;}
  public byte[] Y {get;set;}  
}
Run Code Online (Sandbox Code Playgroud)

当我将 A 序列化为 json 时,我没有得到 Y 的值,因为我已经设置了 ... byte[] 的输出应该是十六进制的

c#

5
推荐指数
1
解决办法
1万
查看次数

C# 将 byte[] 解析为 json 而不转换为 base64 字符串

我想将我的模型转换为 json,它有一个 byte[] 数组,在转换为 json 时该数组会转换为 base64 字符串。我不想将 byte[] 数组转换为字符串格式。

\n

这是我尝试过的

\n
       MyModel myObject = new MyModel\n        {\n            Id = 1,                \n            Data = new byte[] { 0x01, 0x02, 0x03 }\n        };\n        string json = JsonSerializer.Serialize(myObject, options);\n
Run Code Online (Sandbox Code Playgroud)\n

它将输出返回为\nJson字符串输出

\n

我想要输出为{"Id":[1],"Data":[1,2,3]}.

\n

编辑: \n我在 powershell 脚本中有上面的代码,它的作用相同

\n
$CertificateJsonString = ConvertTo-Json $CertificateVaultObject -Compress\n$CertificateSecureString = ConvertTo-SecureString -String $CertificateJsonString -AsPlainText \xe2\x80\x93Force\n
Run Code Online (Sandbox Code Playgroud)\n

c# json system.text.json

4
推荐指数
1
解决办法
860
查看次数

标签 统计

c# ×4

json ×3

arrays ×1

json.net ×1

serialization ×1

system.text.json ×1