繁体   English   中英

如何在Xamarin中将JSON对象数组字符串转换为JSON对象数组转换为自定义类

[英]How to Convert JSON Object Array String to JSON Object Array to Custom Class in Xamarin

我是C#和Xamarin的新手,并且想要将json对象数组字符串转换为json对象数组到c#中的自定义类。

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 test2 = @"[{firstName: ""Sample First Name"", lastName: ""Sample Last Name""},{firstName: ""Sample First Name 2"", lastName: ""Sample Last Name 2""}]";

我如何将test2转换为json对象数组?

在此先感谢您的帮助。

在您的示例中,您没有将其解析为自定义类。 您可以这样做:

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);
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"]);
}

希望对您有帮助

或创建json对象的类

然后将json数据插入该对象

使用jsonConverter Deserializer来DeserializeObject

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

有效的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; }
}

用于反序列化json的代码。

Data result = JsonConvert.DeserializeObject<Data>(test);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM