1
我使用Google翻譯API檢測字符串的語言。 API正在返回這個JSON:使用C#反序列化Google翻譯API中的JSON
{
"data": {
"detections": [
[
{
"confidence": 0.37890625,
"isReliable": false,
"language": "ro"
}
]
]
}
}
我還沒有找到反序列化它的方式。我使用System.Runtime.Serialization
,這是我的代碼:
[DataContract]
public class GoogleTranslationResponse
{
[DataMember(Name = "data")]
public Data Data { get; set; }
}
[DataContract]
public class Data
{
[DataMember(Name = "detections")]
public List<Detection> Detections { get; set; }
}
[DataContract]
public class Detection
{
[DataMember(Name = "confidence")]
public decimal Confidence { get; set; }
[DataMember(Name = "isReliable")]
public bool IsReliable { get; set; }
[DataMember(Name = "language")]
public string Language { get; set; }
}
// ...
var jsonSerializer = new DataContractJsonSerializer(typeof(GoogleTranslationResponse));
result = (GoogleTranslationResponse)jsonSerializer.ReadObject(new MemoryStream(Encoding.Unicode.GetBytes(responseData)));
我得到這個結果:
Confidence: 0
IsReliable:false
Language:null
您正在使用什麼代碼來嘗試進行反序列化? –
'「檢測」'是一個數組數組。你需要使用列表清單進行建模嗎? –
@Brian Rogers我更新了這個問題。 –