【发布时间】:2022-02-01 22:38:29
【问题描述】:
我正在使用此代码将 Json 文件读入 JObject myParams。这很好用
using (StreamReader file = File.OpenText("config.json"))
using (JsonTextReader reader = new JsonTextReader(file))
{
JObject myParams = (JObject)JToken.ReadFrom(reader);
}
然后我想要对信息进行编码并将其保存回另一个文件。 此代码读取文件,对其进行编码并直接保存。有效
using (StreamWriter w = new StreamWriter("filenameEncoded.bson", true))
w.Write(Convert.ToBase64String(File.ReadAllBytes("filename.json")));
但是我不想读取文件并立即对其进行编码。
我想用第一段代码导入 myParams,对 JObject 进行一些修改,然后对其进行编码并将其编码保存在文件中。
问题是我不能在myParams 上使用Convert.ToBase64String,因为它需要字节而不是JObject。
如何将我的 JObject myParams 编码并保存到编码文件中?
【问题讨论】:
-
您是否尝试过将此
Encoding.UTF8.GetBytes(myParams.ToString(Formatting.None))传递给Convert.ToBase64String? (显然UTF8应该被替换,如果源文件是 ASCII,例如) -
刚试过,(你的意思是UTF8而不是UT8?)。它生成了一个编码文件。将尝试对其进行解码并查看它是否与原始版本匹配。
-
是的,我指的是 UT8,抱歉打错了
-
好的,可以了,谢谢
-
实际目标是什么? Base64 编码是一种将二进制数据存储为文本的方法。 Json 已经是文本,所以你不会得到任何东西。如果你想存储 Bson 数据,你可能应该使用BsonWriter