PHPの社内Web開発者の1人が書いたAPIを使用しています。私はJSONをデシリアライズするためにJSON.netを使ってC#でアプリケーションを書いています。このAPIは、データベースから顧客情報を取得するために使用されます。ユーザーが返されたJSONを存在する場合変換エラーのあるJSON.NETでJSONを逆シリアル化する方法
{
"success": true,
"id": "21",
"msg": "",
"info": {
"FirstName": "name",
"LastName": "name",
}
}
であり、これはこれは完全に正常に動作します。この
public class Json
{
public bool Success { get; set; }
public object Id { get; set; }
public string Msg { get; set; }
public Info Info { get; set; }
}
public class Info
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
のようにクラスにデシリアライズされます。ユーザーが存在しない場合
は、そうでなければ、私は、私はこれをデシリアライズしようとした場合、私は
{"Error converting value False to type 'Info'. Path 'info', line 1, position 79."}
を取得し、この
{
"success": false,
"id": false,
"msg": "User does not exists in databse",
"info": false
}
を受け取るにデシリアライズするために、第2のJSON型を取得するためにとにかくありこのエラーのない同じクラスか、別のjsonの新しいクラスを作成する必要があります。
ブール値ORを返すことは、疑わしいAPI設計です。おそらく、 'false'ではなく' null'を返すべきです。 – Rob