我正在使用NewtonSoft来处理我的wpf应用程序中的json。我有一个可以保存到txt文件的客户(不涉及数据库)。我做了这样的:C#将json序列化并反序列化为txt文件
public int store(string[] reservation)
{
JObject customer = new JObject(
new JProperty("id", this.getNewId()),
new JProperty("name", reservation[0]),
new JProperty("address", reservation[1]),
new JProperty("gender", reservation[2]),
new JProperty("age", reservation[3])
);
using (StreamWriter file = File.CreateText(Settings.databasePath + "customer.json"))
using (JsonTextWriter writer = new JsonTextWriter(file))
{
customer.WriteTo(writer);
}
return 1;
}
结果看起来是这样的:
{"id":1,"name":"Lars","address":"Bosch 10","gender":"Man","age":"19"}
然后我试图让所有的客户是这样的:
if(File.Exists(Settings.databasePath + "customer.json"))
{
List<Customer> customers;
using (StreamReader r = new StreamReader(Settings.databasePath + "customer.json"))
{
string json = r.ReadToEnd();
customers = JsonConvert.DeserializeObject<List<Customer>>(json);
}
}
但我收到这个错误(不能复制错误):
已经尝试存储它像一个jArray但是不工作。我如何得到这个工作?
任何帮助将不胜感激。 :)
嗯,你只写了一个客户的文件,但尝试读取客户的数组......不能正常工作。为什么写一个JArray的顾客不工作?这是你需要做的。 –
您是否打算将多个客户保存在同一个文件中?或者为每个客户在同一位置添加多个文件? –
Off topic:性别应该是男性/女性 – Reniuz