无法将 JSON 写入文件 (Xamarin C#)

Cannot write JSON to file (Xamarin C#)

我尝试将 JSON 写入文件,如下所示:

string url2 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=83";
JsonValue json = await FetchAsync(url2);

var path = System.Environment.GetFolderPath(
    System.Environment.SpecialFolder.ApplicationData);
var filename = Path.Combine(path, "cache.txt");

File.WriteAllText(filename, json);

public async Task<JsonValue> FetchAsync(string url)
{
    System.IO.Stream jsonStream;
    JsonValue jsonDoc;

    using (var httpClient = new System.Net.Http.HttpClient())
    {
        jsonStream = await httpClient.GetStreamAsync(url);
        jsonDoc = JsonObject.Load(jsonStream);
    }

    return jsonDoc;
}

当我调试时出现错误...

System.InvalidCastException: Specified cast is not valid.

...在这一行中:

File.WriteAllText(filename, json);

我的错误在哪里?

要从 URL

中获取 Json 字符串的代码段
public async Task<string> FetchAsync(string url)
    {
        string jsonString;

        using (var httpClient = new System.Net.Http.HttpClient())
        {
            var stream = await httpClient.GetStreamAsync(url);
            StreamReader reader = new StreamReader(stream);
            jsonString = reader.ReadToEnd();
        }

        return jsonString;
    }

调用上述方法并将字符串保存到本地文件的代码段。

string url2 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=83";
            var json = await FetchAsync(url2);

            var path = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            var filename = Path.Combine(path, "cache.txt");
            File.WriteAllText(filename,json);

稍后从该文件读取 Json 字符串并将其转换为 Json

的片段
JsonValue readJson; 
            var jsonString =File.ReadAllText(filename);
            readJson = JsonObject.Parse(jsonString);