JSONは、JerseyのJAXBシリアライザを使用してJavaで作成されます。 .NETアプリケーションで逆シリアル化する必要があります。 問題は、シリアル化された配列である: 配列は、いくつかの項目JSONオブジェクトが含まれている場合、そのようなものです:私はしたいJSONオブジェクトを.NETリストに非直列化
{"users":[{"name":"user1", "email":"[email protected]"},{"name":"user2", "email":"[email protected]"}]}
が、オブジェクトが一つだけのアイテムが含まれている場合、それは単純なオブジェクト
{"users":{"name":"user1", "email":"[email protected]"}}
としてシリアル化されこれを.NETオブジェクトに逆シリアル化します。
public class UserList{
public List<User> users {get;set;}
}
public class User{
public string name {get;set;}
public string email {get;set;}
}
標準の.NETデシリアライザは第ケースを理解していません。 JSON.NETのデフォルトのデシリアライザを試しましたが、例外がスローされます。おそらくそれは適切に設定する必要がありますか? 第1の場合と第2の場合を扱う方法を提案できますか? P.P.私はJavaシリアライザへのアクセスがありません
シリアル化の方法を変更することはできませんか?この方法はあまり意味がないからです。 – svick
はい、thirdparty製品ですので – Cheburek