2 回答
TA贡献1793条经验 获得超6个赞
你有两个我能想到的选择:
1.将整个文件读入一个对象,添加你的对象,然后重写整个文件(性能不佳)
var filePath = @"path.json";
// Read existing json data
var jsonData = System.IO.File.ReadAllText(filePath);
// De-serialize to object or create new list
var SomeObjectList= JsonConvert.DeserializeObject<List<T>>(jsonData)
?? new List<T>();
// Add any new
SomeObjectList.Add(new T()
{
Name = "..."
});
SomeObjectList.Add(new T()
{
Name = "..."
});
// edit
var first = SomeObjectList.FirstOrDefault();
first.Name = "...";
// Update json data string
jsonData = JsonConvert.SerializeObject(SomeObjectList);
System.IO.File.WriteAllText(filePath, jsonData);
打开文件读/写,解析直到到达右花括号,然后写入剩余的数据,然后写入右花括号(不是微不足道的)
TA贡献1848条经验 获得超10个赞
不要乱搞 JProperty,反序列化你的 json 并附加你想要的数据:
JObject obj = JObject.Parse(jsontext);
obj["new_prop"] = "value";//new property as per hirarchy ,same for replacing values
string newjson=obj.ToString();
它更清洁,更易于维护。
- 2 回答
- 0 关注
- 517 浏览
添加回答
举报