C# - 如何将List转换为JSONObject

时间:2015-06-16 20:45:56

标签: c# jsonobject

如何将List<Friend>转换为JSONObject

这是我的列表变量

public List<Friend> friends { get; set; }

我试图用这个转换

new JavaScriptSerializer().Serialize(friends)

但我得到了这个结果

{
    "friends": "[
        {
            \"row\": \"value\",
            \"row\": \"value\",
            \"row\": \"value\"
        },
        {
            \"row\": \"value\",
            \"row\": \"value\",
            \"row\": \"value\"
        }
    ]"
}

我想要这样

{
    "friends": {
        {
            "row": "value",
            "row": "value",
            "row": "value"
        },
        {
            "row": "value",
            "row": "value",
            "row": "value"
        }
    }
}

2 个答案:

答案 0 :(得分:1)

使用第三方库,例如JSON.NET

JsonConvert.SerializeObject(new { friends = friends });

答案 1 :(得分:0)

在序列化之后调用Replace会简单得多:

new JavaScriptSerializer().Serialize(friends).Replace(@"\""", @"""");

我希望这会对你有所帮助,如果以上情况不正常,请耐心等待,因为我现在正在使用我的手机(而且我现在无法真正测试)。很明显,您必须在已发布的Replace变量上调用string,因此我的代码中某处可能遗漏了ToString()

但正如我所知,你知道如何获取字符串,所以请在它之后调用Replace并且它可以正常工作。