2016-10-27 65 views
0

我是C#和Xamarin中的新成員,希望將json對象數組字符串轉換爲json對象數組以將其轉換爲c#中的自定義類。如何將JSON對象數組字符串轉換爲JSON對象數組到Xamarin中的自定義類

string test = @"{firstName: ""Sample First Name"", lastName: ""Sample Last Name""}"; 
Newtonsoft.Json.Linq.JObject sample = Newtonsoft.Json.Linq.JObject.Parse(test); 
Console.WriteLine(sample); 

的回報將是這樣這是正確的:

{ 
    "firstName": "Sample First Name", 
    "lastName": "Sample Last Name" 
} 

我覺得這是工作,因爲它是一個單一的對象,但它不工作,如果我的JSON對象數組string是這樣的,其我是從答覆中得到的。

string test2 = @"[{firstName: ""Sample First Name"", lastName: ""Sample Last Name""},{firstName: ""Sample First Name 2"", lastName: ""Sample Last Name 2""}]"; 

如何將test2轉換爲json對象數組?

在此先感謝您的幫助。

+0

你有錯誤的json –

+0

hi @viveknuna,json中的錯誤是什麼? – ron

+0

[{ \t 「名字」: 「樣品名」, \t 「姓氏」: 「樣品姓」 },{ \t 「名字」: 「樣品名2」, \t 「姓氏」:「樣本姓2「 }] –

回答

3

在您的示例中,您沒有將其解析爲自定義類。然而,你可以這樣做:

public class Data 
{ 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
} 

// ... 
var test2 = @"[{firstName: ""Sample First Name"", lastName: ""Sample Last Name""},{firstName: ""Sample First Name 2"", lastName: ""Sample Last Name 2""}]"; 
var objects = JsonConvert.DeserializeObject<List<Data>>(test2); 
+0

謝謝@heinzbeinz,已經得到它的工作。 – ron

+0

@龍快樂我可以幫忙 – Nico

1
var myObject = eval('(' + myJSONtext + ')'); 

,以測試它,你可以使用下面的代碼片段。

var s =" [{'id':1,'name':'Test1'},{'id':2,'name':'Test2'}]"; 
var myObject = eval('(' + s + ')'); 
for (i in myObject) 
{ 
    alert(myObject[i]["name"]); 
} 

跳它會幫你

OR 穿心蓮類JSON對象的

然後插入JSON數據到該對象

使用jsonConverter解串器DeserializeObject

var objects_json = JsonConvert.DeserializeObject<List<object>>(test); 
0

有效的Json應該是。

[{ 
    "firstName": "Sample First Name", 
    "lastName": "Sample Last Name" 
}, { 
    "firstName": "Sample First Name 2", 
    "lastName": "Sample Last Name 2" 
}] 

public class Data 
{ 
    public string firstName { get; set; } 
    public string lastName { get; set; } 
} 

代碼來deserilize json。

Data result = JsonConvert.DeserializeObject<Data>(test); 
相關問題