android - 将 JArray 转换为要写入 JSON 文件的字符串

标签 android json json.net xamarin

因此,我在设备中有一个可供读取和写入的 JSON 文件。我在 Xamarin Android 上使用 JSON.NET。我从文件中读到如下:

FileStream jsonfile = new FileStream(root + "/data.json", FileMode.Open);
string content;
using (StreamReader sr = new StreamReader (jsonfile))
    content = sr.ReadToEnd ();
var objects = JArray.Parse (content);

这样,我就不会为 JSON 对象创建类。它会自动解析为 JArray 对象。然后,我可以轻松直接地读取数据,如下所示:

foreach (JObject obj in objects) {
    Console.WriteLine(obj.Property("name").Value.ToString());
}

但是当涉及到将数据写入 JSON 文件时。正如我的逻辑所示,我尝试了向后的过程:

using (StreamWriter sw = new StreamWriter (jsonfile))
    sw.Write(JsonConvert.ToString(objects));

好吧,这根本行不通。错误清楚地表明“无法写入流文件。”

我在这方面还很陌生。所以我可能做错了什么。问题是,我将读取的数据非常简单(即使它是 JArray),并且我正在尝试我能找到的最简单的方法。

我在这里缺少什么?

最佳答案

使用指定文件权限的 FileStream 重载并使用 FileAccess.ReadWrite。

new FileStream(root + "/data.json", FileMode.Open, FileAccess.ReadWrite);

关于android - 将 JArray 转换为要写入 JSON 文件的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20061145/

相关文章:

c# - 使用 JSon.net 将平面 JSON 数据反序列化为结构

Android inApp 更新总是显示更新不可用和证书不匹配警告

javascript - d3/c3 图表加载缓慢

javascript - 我的 Electron 离线应用程序使用什么数据库

jquery - 读取json数据返回jQuery

c# - 如何使用特定的派生类反序列化对象的属性

android - 从数据库中删除,不成功

Android Compose 副作用

java - 防止在 RealmList 中保存时创建 Realm 对象

c# - JSON.NET 中对象集合的错误处理行为与简单类型不同