JavaScriptSerializer를 사용하여 Google의 Translate API JSON 응답을 C# 객체로 비 직렬화하려고합니다. 그러나 그것은 항상 Type 'TranslateAPI.Models.Translations' is not supported for deserialization of an array.
라고합니다. 이 오브젝트에 대한 모델을 올바르게 작성했는지 여부를 다시 한 번 확인하고 올바르게 보입니다. 여기 내 모델은 다음과 같습니다Google의 Translate API 결과를 C에서 역 직렬화
TranslateResult
public TranslateData data { get; set; }
TranslateData
public Translations translations { get; set; }
Translations
public TranslatedText[] translatedText { get; set; } // I have also tried List<TranslatedText> which also doesn't work
TranslatedText
public string translatedText { get; set; }
json으로 구글에서 반환은 다음과 같습니다
{data: {
translations: [
{translatedText: "Hello world"}
]
}
내가 잘못 어떤 생각?
감사
PS. 그것은 내가 그것을 deserialize하고 있다고 언급하는 것이 유용 할 수있다. TranslateResult translateResult = js.Deserialize <TranslateResult>(json);
어떻게 그리울지 모르겠지만 ... 배열에 맞았습니다. 감사합니다! 또한 속성을 살펴보고 올바른 명명 규칙을 따릅니다. – leopik
비슷한 문제가있는 사람들을 위해 - 나는 번역 (번역 [])을위한 배열이 아니라 TranslatedText []를위한 배열을 가지기로되어 있었다. – leopik
이것은 일종의 오래된 스레드이지만 "번역"속성을 일반 목록 (목록)으로 만들고 모든 일반적인 이점을 얻을 수도 있습니다! :) –