2016-10-27 66 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); 
相关问题