0
我有本地的Json文件,我想处理它。所以删除,创建 ,更改值,并getall。处理json文件csharp控制台
因此,它的json例子
[ {
"Alerts": {
"Name": "RoseDeal",
"Description": "Problème au sein de Rosedeal",
"StartDate": "2017-07-17T00:00:00",
"EndDate": "2008-07-19T00:00:00",
"Niveau": "Urgent",
"Type": "Girophare",
"Id": 1
} } ]
我在控制台程序工作,只是为了尝试。
public bool DeleleAlert(int alertId)
{
var filePath = @"C:\Users\korben\Documents\Visual Studio 2017\Projects\SaveFiles\SaveFiles\json\alerts.json";
string Json = File.ReadAllText(filePath);
var alerts = JsonConvert.DeserializeObject<List<Alert>>(Json);
var newJsonString = JsonConvert.SerializeObject(alerts.Where(i => i.Id != alertId));
return true;
}
public bool SaveAlert(Alert newAlert)
{
var filePath = @"C:\Users\korben\Documents\Visual Studio 2017\Projects\SaveFiles\SaveFiles\json\alerts.json";
string Json = File.ReadAllText(filePath);
dynamic contourManifest = JObject.Parse(Json);
foreach (var Alerts in contourManifest.features)
{
Alerts.Name.Replace(JObject.FromObject(new { Name = Alerts.Name["SANG"] }));
}
var newJson = contourManifest.ToString();
// Missing a closing brace here?
public Alert GetAlert(int alertId)
{
List<Alert> alerts;
// Lire le fichier JSON
alerts = ReadFile();
// Rechercher l'alerte demandé via sont ID
var myAlert = alerts.Where(a => a.Id == alertId).FirstOrDefault();
return myAlert;
}
} } // <-- ?
public void CreateALert(List<AlertObject> alerts)
{
var filePath = @"C:\Users\korben\Documents\Visual Studio 2017\Projects\SaveFiles\SaveFiles\json\alerts.json";
string json = JsonConvert.SerializeObject(alerts, Formatting.Indented);
File.WriteAllText(filePath, json);
}
} // <-- ?
它不是我所有的代码,但只有创建,GetAlert的工作。 savealert(更改值)删除和 不起作用,我不明白为什么。 这里的程序:
static void Main(string[] args)
{
int count = 0;
var myAlert = new List<Alert>();
var myAlertObject = new List<AlertObject>();
AlertObject oAlertObject = new AlertObject();
var newAlert = new Alert
{
Name = "RoseDeal",
Description = "Problème au sein de Rosedeal",
StartDate = new DateTime(2017, 7, 17),
EndDate = new DateTime(2008, 7, 19),
Niveau = "Urgent",
Type = "Girophare",
Id = ++count,
};
oAlertObject.OAlert = newAlert;
myAlertObject.Add(oAlertObject);
Console.WriteLine("Hello World!");
JsonAlert rene = new JsonAlert();
rene.CreateALert(myAlertObject);
rene.GetAlert(1);
//rene.SaveAlert(newAlert);
rene.DeleleAlert(1);
}
} // <-- ?
什么是'Alert'和'AlertObject'类定义?当你说'Delete'和'SaveAlert'“不起作用”你是什么意思?你有例外吗?它什么都不做?换句话说,你期望它做什么以及它实际做了什么(或不做)呢? –
我试着重新格式化你的代码,但是你的大括号不能排队。请发布[mcve]。 – nvoigt