私はWCFにいくつかのクラス(データコントラクトとサービスコントラクト)を書いています。私はJSONでシリアライズしてデシリアライズしようとしています。私は次のようなJSON構造が必要な場合は、どのように私はのDataContract(複数可)を作成します。WCF - JSONでシリアライズおよびデシリアライズする方法は?
{
"response": {
"locations": {
"location": [
{
"id": "12",
"name": "Hello",
"statusid": "78"
},
{
"id": "5",
"name": "Ann",
"statusid": "8"
}
]
},
"error": "404 error"
}
}
上記の構造はかなりまっすぐ進むと、前述したように、いくつかの場所の詳細することができそこの場所の下に。ですから、私は配列/リストを下記のように "場所"のデータメンバーに取得する必要があります。現時点では、私は以下のDataContractのみを持っています:
[DataContract]
public class Response
{
[DataMember]
public string locations { get; set; }
[DataMember]
public string error{ get; set; }
}
私はこれを解決する方法を教えてください。
私はむしろC#のcoddingの基準に従って適切に(すなわち場所ではない場所)をクラスとプロパティに名前を付け、データメンバーにヒントを使用するなど、すなわち '[データメンバーを(属性publicクラスLocation' – vittore
もう一つの話は、どちらのトピックスターターにもjsonペイロードの例でエラーがあることに気づいたか、または 'location'プロパティを持つオブジェクト' locations'を持っているので別のクラスを導入する必要があります。これは何かの配列です(あなたのC#スニペットで 'location'オブジェクトと呼んでいたもののようです) – vittore
助けてくれてありがとうございます。マイク、あなたは上記の構造をどのようなシリアライズ方法を実装している? .NETのシリアル化またはJSON.NET?私はそれがネイティブのシリアル化を使用して行うことができるかどうか疑問に思っていたので。 –