javascript - 如何将字符串数组的 JavaScript 数组转换为 C# 数据结构?

标签 javascript c# arrays json asp.net-mvc

过去一个小时我一直在尝试,但无法得到它。此时我的 Controller 看起来像

public ActionResult GenerateMasterLink (string assetsJSON)
{
   ...
}

并且我已经确认它正在传递一个类似的字符串

[["Microsoft","Azure","roman_column.png"],["Microsoft","Azure","runphp.cmd"],["Microsoft","Azure","runphp.cmd"],["Microsoft","Azure","Picture1.png"],["Microsoft","Azure","vertical-align-scrnsht.png"],["Microsoft","Azure","vertical-align-scrnsht.png"]]

我唯一的问题是如何从中取出这些该死的东西!

我尝试创建一个类

    public class ThreePartKey
    {
        public string organizationName { get; set; }
        public string categoryName { get; set; }
        public string fileName { get; set; }
    }

然后完成

ThreePartKey [] assetList = new JavaScriptSerializer().Deserialize<ThreePartKey []>(assetsJSON);

这给了我

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

有时在我的浏览器控制台中,有时给我

Additional information: Type 'AllyPortal.Controllers.SurfaceAssetsController+ThreePartKey' is not supported for deserialization of an array.

作为 Visual Studio 错误。

我已经尝试了一百万种东西,但还是无法做到这一点。我想要的只是在某些 C# 数据结构中包含 JSON,这样我就可以在我的 Controller 中实际使用它。有什么建议吗?

最佳答案

您正在尝试反序列化为不兼容的模型。您的字符串输入可以反序列化为 string[][] 变量,但为了允许反序列化为 ThreePartKey,您需要为每个属性命名这些值: [[组织名称:“微软”,...]] 这会将正确的值复制到您的模型

关于javascript - 如何将字符串数组的 JavaScript 数组转换为 C# 数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30313836/

相关文章:

javascript - 有没有办法在没有换行符的情况下使用 div 标签,或者有​​其他选择吗?

javascript - JS date() 返回不正确的日期

c# - 如何在 asp.net c# 上制作一个真正的 XLS 文件?

javascript - 如何在 JavaScript 中构建一个计算数组中出现次数的对象?

arrays - 如何在数组元素之间打印 'AND'?

php - 从常规数组创建多维数组

javascript - 拖动 anchor 绑定(bind) ‘mousedowd, mousemove, mouseup’时如何防止重定向?

javascript - 根据子内部文本选择元素

C# "internal"进行单元测试时访问修饰符

c# - 如何连接两个异常?