c# - WPF 中的 JSON 和二进制文件

标签 c# json json.net

我通过以下代码在 WPF 中保存一个带有 JSON 的文本文件:

using (JsonWriter file = new JsonTextWriter(new StreamWriter("Test.txt")))
{
   file.Formatting = Formatting.Indented;
   file.WriteStartObject();
   file.WritePropertyName("TEST");
   file.WriteValue("test");
   file.WriteEndObject();
}

文件保存在以下结构中:

{
  "TEST": "test"
}

我想将文件保存为二进制文件。

我需要在代码中添加/更改什么?

我尝试使用“JsonSerializer”对象和“Serialize()”函数而不是“WriteValue()”函数,但没有任何改变。

我会很高兴得到一个有效的示例代码。

谢谢...

最佳答案

如果您想使用 JSON.NET 以二进制格式(例如 BSON 或“Binary jSON”)序列化 JSON,您可以使用 BsonWriter类而不是 JsonTextWriter:

using (JsonWriter file = new Newtonsoft.Json.Bson.BsonWriter(new StreamWriter("Test.txt")))
{
   file.WriteStartObject();
   file.WritePropertyName("TEST");
   file.WriteValue("test");
   file.WriteEndObject();
}

您还可以使用 JsonSerializer 类,再次将 BsonWriter 而不是 JsonTextWriter 传递给 Serialize方法。

关于c# - WPF 中的 JSON 和二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13445355/

相关文章:

c# - Camel Case Web API Json 设置似乎不起作用

c# - 使用 Newtonsoft JSON.Net 在反序列化之前合并源 JSON

c# - 为什么我不能在 LINQ to SQL 中重用一个函数

C# 单元测试

arrays - 使用 Newtonsoft Json.NET 循环使用动态对象 ID 的非数组 JSON

javascript - 如何在 GEOjson (Javascript) 中删除多余的 "

javascript - 既然 Express 不带有主体解析器,我如何使用外部中间件解析 JSON?

c# - 将数据访问层移动到 WCF 服务

c# - 如何将多个按钮订阅到同一个事件处理程序并根据单击的按钮执行操作?

ios - 如何将信息保存为Json