从 FileStream 读取 JSON

问题描述

在 Xamarin.Forms 项目中,我将 JSON 文件另存为嵌入式资源。我通过调用将其作为 FileStream 获取

var assembly = typeof(App).GetTypeInfo().Assembly;

FileStream fileStream = assembly.GetFiles()[0];

如何将此流解析为 json 字符串? 我知道这很可能是个超级愚蠢的问题,但我很困惑,我得到的只是一些随机字符。

解决方法

首先,使用 JSON 文件获取原始字符串

string jsonText = File.ReadAllText("/path/to/file.txt")

从那里,您可以将 JSON 字符串转换为对象(如果需要):

MyClass jsonObj = JsonSerializer.Deserialize<MyClass>(jsonText);

在处理 JSON 文件时不要忘记导入 System.Text.Json.SerializationSystem.Text.JsonSystem.IO

您遇到错误是因为您试图获取文字 FileStream,这不是它的预期用途。您可以在此处阅读有关序列化 JSON 的更多信息:Installing service pack / cumulative update on SQL Server 2016 / 2017 breaks database engine