0
私はローカルのJsonファイルを持っています。削除し、 を作成し、値を変更し、getallしてください。ハンドルjsonファイルcsharpコンソール
SO、その私の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