色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

cefsharp修改json

錢多多1年前10瀏覽0評論

CEFSharp是一個開源項目,它使得C#開發(fā)者可以使用Chromium的功能,包括在WinForms和WPF應用程序中顯示W(wǎng)ebView以及訪問Web中的JavaScript對象等。本文將介紹如何使用CEFSharp修改JSON數(shù)據(jù)。 我們假設我們已經(jīng)有了一個JSON對象,我們的任務是更新這個對象的一個屬性。首先,我們需要將JSON對象轉(zhuǎn)換成字符串,以便可以在Web視圖中讀取它。

var jsonObj = new
{
Name = "Alice",
ID = 123,
Age = 25
};
string jsonString = JsonConvert.SerializeObject(jsonObj);
在上面的代碼中,我們創(chuàng)建了一個名為jsonObj的匿名對象,并使用JsonConvert.SerializeObject將其序列化為JSON字符串。現(xiàn)在,我們需要在CEFSharp中加載這個字符串。
browser.LoadHtml(jsonString);
上面的代碼將在CEFSharp中加載JSON字符串。注意,我們并沒有指定任何URL,而是將HTML代碼直接加載到Web視圖中。 現(xiàn)在,我們需要使用JavaScript訪問JSON字符串,以便可以修改它。我們將使用JavaScriptSerializer對象將JSON字符串解析為JavaScript對象。
var serializer = new JavaScriptSerializer();
var json = serializer.Deserialize(browser.ExecuteScriptAsync("JSON.stringify(" + jsonString + ")").Result);
在上面的代碼中,我們首先使用ExecuteScriptAsync方法將JSON字符串傳遞給JavaScript,然后使用JavaScript的JSON.stringify方法將其解析為JavaScript對象。最后,我們使用JavaScriptSerializer.Deserialize方法將其解析為dynamic對象。 現(xiàn)在,我們可以直接修改JavaScript對象的屬性,并將其轉(zhuǎn)換回JSON字符串。
json.Age = 26;
jsonString = JsonConvert.SerializeObject(json);
在上面的代碼中,我們更改了JSON對象的Age屬性,并使用JsonConvert.SerializeObject將其序列化為JSON字符串。最后,我們需要重新加載完整的HTML代碼,以便更新Web視圖。
browser.LoadHtml("
");
在上面的代碼中,我們將更新后的JSON字符串插入到Web視圖中,并使用JSON.stringify將其解析為JavaScript對象。 完成以上步驟后,我們就成功地使用CEFSharp修改了JSON數(shù)據(jù)。以上就是本文的全部內(nèi)容,希望對有需要的開發(fā)者有所幫助。