【问题标题】:How to Convert JSON Object Array String to JSON Object Array to Custom Class in Xamarin如何在 Xamarin 中将 JSON 对象数组字符串转换为 JSON 对象数组到自定义类
【发布时间】:2017-03-09 21:42:33
【问题描述】:

我是 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 对象数组?

提前感谢您的帮助。

【问题讨论】:

  • 你的 json 不正确
  • 嗨@viveknuna,json 中的错误是什么?
  • [{ "firstName": "Sample First Name", "lastName": "Sample Last Name" }, { "firstName": "Sample First Name 2", "lastName": "Sample Last名称 2" }]

标签: c# json xamarin


【解决方案1】:

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

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);

【讨论】:

  • @ron 很高兴我能帮上忙
【解决方案2】:
var myObject = eval('(' + myJSONtext + ')');

要测试它,您可以使用下面的 sn-p。

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);

【讨论】:

    【解决方案3】:

    应该是有效的 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);
    

    【讨论】:

      猜你喜欢
      • 2012-05-08
      • 2013-08-29
      • 2023-03-11
      • 2021-05-12
      • 1970-01-01
      • 2011-05-21
      • 1970-01-01
      • 2020-06-27
      • 2011-08-19
      相关资源
      最近更新 更多