[英]JSON parse error Newtonsoft
我在嘗試解碼json對象時遇到錯誤:
碼:
public class retData
{
public string Text { get; set; }
}
private void btnCreateProject_Click(object sender, EventArgs e)
{
string jsonResponse = Helpers.translateText("Some {useful|helpful|beneficial|valuable|handy|practical} {tips|suggestions|ideas|guidelines|recommendations|strategies} for {getting|obtaining|acquiring|receiving|finding|having} {best|very best|greatest|ideal|finest|most effective} and {professional|expert|skilled|specialist|qualified|experienced} carpet {cleaning|cleansing} {services|solutions|providers|companies|expert services|products and services}%first_paragraph-article%Some {useful|helpful|beneficial|valuable|handy|practical} {tips|suggestions|ideas|guidelines|recommendations|strategies} for {getting|obtaining|acquiring|receiving|finding|having} {best|very best|greatest|ideal|finest|most effective} and {professional|expert|skilled|specialist|qualified|experienced} carpet {cleaning|cleansing} {services|solutions|providers|companies|expert services|products and services}", "de", txtBoxYandexAPI.Text);
retData theText = JsonConvert.DeserializeObject<retData>(jsonResponse);
}
響應JSON為:
{"code":200,"lang":"en-de","text":["Einige {nützlich|hilfreich|nützlich|wertvoll|nützlich|praktisch} {Tipps|Vorschläge|Ideen|Leitlinien|Empfehlungen|Strategien} {Anreise|Beschaffung|Erwerb|erhalten|finden|haben} {besten|besten|größten|ideal|besten|meisten effektive} und {professional|expert|qualifizierten|Spezialisten|qualifizierte|erfahrene} Teppich {Reinigung|cleansing} {Dienstleistungen|Lösungen|Dienstleister|Unternehmen|expert services|Produkte und Dienstleistungen} %first_paragraph-Artikel% Einige {nützlich|hilfreich|nützlich|wertvoll|nützlich|praktisch} {Tipps|Vorschläge|Ideen|Leitlinien|Empfehlungen|Strategien} {Anreise|Beschaffung|Erwerb|erhalten|finden|haben} {besten|besten|größten|ideal|besten|meisten effektive} und {professional|expert|qualifizierten|Spezialisten|qualifizierte|erfahrene} Teppich {Reinigung|cleansing} {Dienstleistungen|Lösungen|Dienstleister|Unternehmen|expert services|Produkte und Dienstleistungen} "]}
我遇到的錯誤是: 其他信息:分析值時遇到意外字符:[。 路徑'text',第1行,位置35。我使用的是newtonsoft json包,我沒有看到這個問題,JSON響應對我來說是正確的,或者是正確的。
您必須像在json中一樣為文本創建一個List<string>
,鍵包含字符串數組。 所以看起來像
public static void Main()
{
string jsonResponse = "{\"code\":200,\"lang\":\"en-de\",\"text\":[\"Einige {nützlich|hilfreich|nützlich|wertvoll|nützlich|praktisch} {Tipps|Vorschläge|Ideen|Leitlinien|Empfehlungen|Strategien} {Anreise|Beschaffung|Erwerb|erhalten|finden|haben} {besten|besten|größten|ideal|besten|meisten effektive} und {professional|expert|qualifizierten|Spezialisten|qualifizierte|erfahrene} Teppich {Reinigung|cleansing} {Dienstleistungen|Lösungen|Dienstleister|Unternehmen|expert services|Produkte und Dienstleistungen} %first_paragraph-Artikel% Einige {nützlich|hilfreich|nützlich|wertvoll|nützlich|praktisch} {Tipps|Vorschläge|Ideen|Leitlinien|Empfehlungen|Strategien} {Anreise|Beschaffung|Erwerb|erhalten|finden|haben} {besten|besten|größten|ideal|besten|meisten effektive} und {professional|expert|qualifizierten|Spezialisten|qualifizierte|erfahrene} Teppich {Reinigung|cleansing} {Dienstleistungen|Lösungen|Dienstleister|Unternehmen|expert services|Produkte und Dienstleistungen} \"]}";
retData theText = JsonConvert.DeserializeObject<retData>(jsonResponse);
}
public class retData
{
public List<string> text { get; set; }
}
嘗試將此作為您的retdata
對象:
public class retData
{
public int code { get; set; }
public string lang { get; set; }
public List<string> text { get; set; }
}
text
是字符串數組。
看起來您的text屬性是一個包含一個組件的數組,因此基本上您需要弄清楚它。
基本上,您正在研究使用以下類進行反序列化:
public class retData
{
public int code { get; set; }
public string lang { get; set; }
public string[] text { get; set; }
}
然后,您需要從文本屬性中獲取.FirstOrDefault()
或按索引[0]
來獲取該字符串。
PS:如果您不使用code
和lang
,則可以將它們保留在retData
類之外。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.