簡體   English   中英

如何解析包含嵌套在另一個對象中的單個項目的 JSON 數組

[英]How to parse a JSON array containing a single item nested in another object

我正在使用 C# 程序中的 Json.Net 調用 CodeCollaborator API。

我從 API 的 HttpResponse 中收到以下 JSON。

[{"result":{"loginTicket":"c9c6793926517db05bde47d3dd50026e"}}]

如何解析它以創建下面提到的 LoginTicketResponse 對象?

public class LoginTicketResponse
{
    public string loginTicket { get; set; }
}

我嘗試了以下代碼,但沒有運氣。

JArray a = JArray.Parse(result);
foreach (JObject o in a.Children<JObject>())
{
    foreach (JProperty p in o.Properties())
    {                        
        dynamic stuff = JsonConvert.DeserializeObject(p.ToString());
    }
}

你離得不遠了。 在您的內部循環中更改此行:

dynamic stuff = JsonConvert.DeserializeObject(p.ToString());

對此:

LoginTicketResponse stuff = p.Value.ToObject<LoginTicketResponse>();

或者,如果您知道響應中只有一項,您可以將整個事情簡化為:

JArray a = JArray.Parse(result);
LoginTicketResponse stuff = a[0]["result"].ToObject<LoginTicketResponse>();

您可能會從 JSON.NET 中受益匪淺,它是一個易於安裝的 NuGet 包。 使用該包,您可以輕松編寫:

JsonConvert.DeserializeObject<LoginTicketResponse>(jsonString);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM