我正在使用C#和JSON.NET。以下是兩種類型。能夠反序列化字符串類型但不支持對象類型
JSON object - var user = { "name": "test", "title": "mytitle"};
JSON String - var user1 = "{ \"name\": \"test\", \"title\": \"mytitle\" }";
使用Newtonsoft.Json反序列化JSON對象。我正在處理JSON的C#代碼。
public class sampledata
{
[JsonProperty("name")]
public string name { get; set; }
[JsonProperty("title")]
public string title { get; set; }
}
public void SampleEvent(string param)
{
sampledata s = JsonConvert.DeserializeObject<sampledata>(param);
}
當我在參數得到JSON字符串反序列化是好的。但是,當我在參數JSON對象 - 我得到第一個錯誤是
「不能在當前JSON陣列(例如[1,2,3])反序列化爲類型‘UCRS.MainWindow +的sampleData’因爲類型需要JSON對象 (例如{「名稱」:「值」})來正確地反序列化
爲了解決這個錯誤或者改變JSON來JSON對象(例如 {「名稱」。: 「value」})或將反序列化類型更改爲數組或實現集合接口(例如ICollection,IList)的數組或就像可以從JSON數組反序列化的List。 也可以將JsonArrayAttribute添加到該類型,以強制它從一個JSON數組中反序列化 。
路徑 '',1號線,位置1
所以我改變了代碼:
List<sampledata> s = JsonConvert.DeserializeObject<List<sampledata>>(param);
然後我面臨的不同問題
「意外的性格遇到同時解析值:o。Path'', 第1行,第1位。「
當在網頁中引發一些事件我正在使用webbrowser objectforscripting在c#中處理該事件。我總是得到JSON對象作爲參數。如何反序列化C#中的JSON對象?請幫助
發佈其拋出這個錯誤,而不是一個實物模型 – Rahul
你如何調用該方法與對象的確切JSON字符串? object.ToString()將不起作用,因爲該對象是一個匿名類型,並不會影響JSON字符串 – Arcturus
@Rahul - 這是拋出錯誤的相同示例。 {「name」:「test」,「title」:「mytitle」}這是試圖反序列化拋出錯誤時的JSON對象。 –