我試圖構建一個應用程序,該應用程序使用JavaScript製作的API。而不是向下發送JSON或XML發送腳本標籤有一個JavaScript對象中它像這樣:用JInt或類似語言解釋/解析c#中的變量
<script>
var apiresult = {
success: true,
data: {
userName: "xxxxx",
jsonData: {
"id" : "8342859",
"price" : "83.94"
}
}
};
</script>
我試圖擺脫只是「jsonData」屬性。在瀏覽器土地你可以去:
apiresult.data.jsonData;
很明顯,我不能在C#中做到這一點。我已經使用Jint嘗試和HtmlAgilityPack像這樣:
HtmlDocument = await client.GetHTMLAsync(url);
string scriptTag = htmlResult.DocumentNode.SelectNodes("//script").InnerHtml;
scriptTag += " return apiresult.data.jsonData;
JintEngine engine = new JintEngine();
Jint.Native.JsObject r = (Jint.Native.JsObject)engine.Run(scriptTag);
如果我在監視窗口中展開「r.Results」它顯示了這些變量的值,但我怎麼那麼得到的只是原始的JSON回來瞭如此我可以解析它到我的對象?