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

时间:2016-10-27 09:13:27

标签: c# json 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对象数组?

提前感谢您的帮助。

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:2)

var isLoop = true;

if($('.swiper-slide')).length < 3) {
    isLoop = false;
}

var swiper = new Swiper('.swiper-container', {
  pagination: '.swiper-pagination',
  speed: 800,
  loop: isLoop,  //<--- set if loop is true or not
  slidesPerView: 3,
  centeredSlides: true,
  spaceBetween: 30,
  grabCursor: true,
  paginationClickable: '.swiper-pagination',
  nextButton: '.swiper-button-next',
  prevButton: '.swiper-button-prev'
});

要测试它,您可以使用下面的代码段。

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

跳它会帮助你

OR 创建json对象的类

然后将json数据插入到该对象

使用jsonConverter反序列化器来反序列化对象

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

答案 2 :(得分: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; }
}

使json deserilize的代码。

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