C# - 如何将 List 转换为 JSONObject

C# - How I can convert List to 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"
        }
    }
}

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

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

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

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

我希望这对你有帮助,如果以上不能正常工作,请多多包涵,因为我现在在我的手机上(我现在无法真正测试)。应该清楚的是,您必须在已发布的 string 变量上调用 Replace,因此我的代码中可能缺少 ToString()

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