私は Ubuntu と dotnet 3.1 を使用して、vscode の c# 拡張機能を実行しています。
JSONファイルからリストを作成する必要があります。コントローラは、渡されるこのモデルリストを使用していくつかの計算を実行します。
ここに私のコードと私が受け取っているエラーを示します。
まず、モデルで属性が char だったためエラーが発生したと考えました。C# では、見たところ、char の二重引用符は解釈できず、一重引用符にする必要があります。削除に時間を浪費する前に、型宣言を文字列に変更しましたが、同じエラーが発生しました。
誰か助けてくれませんか?
エレベーターモデル
using System.Collections.Generic;
namespace Bla
{
public class ElevadorModel
{
public int andar { get; set; }
public string elevador { get; set; }
public string turno { get; set; }
}
}
プログラム.cs:
class Program
{
static void Main(string[] args)
{
var path = "../input.json";
string jsonString;
ElevadorModel elevadoresModel = new ElevadorModel();
jsonString = File.ReadAllText(path); //GetType().Name = String
Console.WriteLine(jsonString); //WORKS
elevadoresModel = JsonSerializer.Deserialize<ElevadorModel>(jsonString);
}
: : JSON:
ベストアンサー1
入力された json にはベース トークンとして配列がありますが、オブジェクトを期待しています。逆シリアル化をオブジェクトの配列に変更する必要があります。
var elevadoresModels = JsonSerializer.Deserialize<List<ElevadorModel>>(jsonString);
elevadoresModel = elavoresModels.First();