【问题标题】:How to convert json array to C# object array如何将 json 数组转换为 C# 对象数组
【发布时间】:2015-04-07 09:32:31
【问题描述】:

我需要帮助,

我尝试将 Json 数组转换为 C# 对象数组, 这是我的 json

{"jsonString":"{\"MemberSeletedId\":[358753,358754]}"}

这是我的 c# 对象类:

public class BOMemberSeletedId
{
    public int MemberSeletedId { get; set; }
}

我如何将 json 中的 memberselectedid(数组)转换为 c# 数组

这是我在 c# 中的转换方法

public string convert(string jsonString)
{
    JavaScriptSerializer js = new JavaScriptSerializer();
    List<BOMemberSeletedId> param = js.Deserialize<List<BOMemberSeletedId>>(jsonString);

    return param;
}

我已经尝试过里面的解决方案:

Convert json to a C# array?

但仍然没有解决我的问题

有人可以帮忙吗?

谢谢

【问题讨论】:

  • 看来您在某个 JSON 中的字符串中有 JSON。您需要从外部 JSON 中检索该字符串,然后解析/反序列化内部 JSON。

标签: c# json


【解决方案1】:

您的属性被声明为单个 int - 尽管它是 JSON 中的一个数组。看起来您应该将 JSON 反序列化为 单个 BOMembint[erSelectedID,但 MemberSeletedId 属性应该是 int[]List&lt;int&gt;

public class BOMemberSeletedId
{
    public List<int> MemberSeletedId { get; set; }
}

BOMemberSeletedId param = js.Deserialize<BOMemberSeletedId>(jsonString);
List<int> values = param.MemberSeletedId;
...

(如果您的方法被声明为返回string,您将无法直接从您的方法中返回它,当然...)

(我假设此时 jsonString 只是 {"MemberSeletedId":[358753,358754]}。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多