[ad_1]
こんにちは、みんな、
私は次のようなjsonを持っています
["G6863","2010368363","201030821","NewData","Latest"]
上記のJSONをfellowngのc#クラスに変換したい
C#
public Class classified{ public string GId{set;get} public string UID{set;get} public string UDATE{set;get} public string MESSAGE{set;get} public string UPDATEREASON{set;get} }
多くのファイルに書き込む必要があるため、汎用にしたい
私が試したこと:
だから私は次のことを試しました
C#
var SerializedText=["G6863","2010368363","201030821","NewData","Latest"] JsonConvert.DeserializeObject(SerializedText, typeof(classified)) as classified
しかし、それはfallowingエラーを投げています
現在の JSON 配列を逆シリアル化できません (例: [1,2,3]) をタイプ ‘classified’ に変換します。これは、型が正しく逆シリアル化するために JSON オブジェクト ({“name”:”value”} など) を必要とするためです。
このエラーを修正するには、JSON を JSON オブジェクト (例: {“name”:”value”}) に変更するか、逆シリアル化された型を配列、または List
パス ”、行 1、位置 1。
解決策 1
このような要件については、クラス コンストラクターを使用できます。 見る: コンストラクター (C# プログラミング ガイド) | Microsoft Docs[^]
解決策 2
次のようなものを使用できます。
C#
using System.Text.Json; namespace TestDictionary; internal class Program { static void Main(string[] args) { string response = "[\"G6863\",\"2010368363\",\"201030821\",\"NewData\",\"Latest\"]"; var deserializedResponse = JsonSerializer.Deserialize<string[]>(response); var data = new Classified(deserializedResponse); // Do something... } } public class Classified { public string GId { set; get; } public string UID { set; get; } public string UDATE { set; get; } public string MESSAGE { set; get; } public string UPDATEREASON { set; get; } public Classified(string[] data) { GId = data[0]; UID = data[1]; UDATE = data[2]; MESSAGE = data[3]; UPDATEREASON = data[4]; } }
[ad_2]
コメント