Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在c中反序列化javascript对象数组的问题_Javascript_C#_Asp.net Mvc_Deserialization_Form Data - Fatal编程技术网

在c中反序列化javascript对象数组的问题

在c中反序列化javascript对象数组的问题,javascript,c#,asp.net-mvc,deserialization,form-data,Javascript,C#,Asp.net Mvc,Deserialization,Form Data,我在将javascript数组反序列化到c列表类时遇到问题,我已经阅读了其他答案,但没有解决我的问题 对象数组 产品以FormData的形式发布,因此我以上述格式接收它们 产品模型 我有一个视图模型 求你了,我需要帮助。谢谢大家! 更新 Javascript帖子 阿贾克斯邮报 在Javascript中,在products数组中使用stringfy,而不是在数组项中使用 代码: 在Javascript中,在products数组中使用stringfy,而不是在数组项中使用 代码: 对象数组不是一个,

我在将javascript数组反序列化到c列表类时遇到问题,我已经阅读了其他答案,但没有解决我的问题

对象数组

产品以FormData的形式发布,因此我以上述格式接收它们

产品模型

我有一个视图模型

求你了,我需要帮助。谢谢大家!

更新

Javascript帖子

阿贾克斯邮报
在Javascript中,在products数组中使用stringfy,而不是在数组项中使用

代码:


在Javascript中,在products数组中使用stringfy,而不是在数组项中使用

代码:


对象数组不是一个,JSON无效。要成为一个数组,它应该在[…]范围内,您在最后的示例中看到了这个范围。如果你真的没有收到,请加上方括号。谢谢@T.J.Crowder,这也是我所怀疑的。我怎样才能修好它。我已更新了我的问题,以包括张贴的表格。你能帮忙吗?看来克莱顿已经解决了-哦,好的,先生。谢谢你指出实际问题。建议你也参考。没有必要对数据进行字符串化并将其感知为FormData,然后在模型属性中再次反序列化。对象数组不是一个,JSON无效。要成为一个数组,它应该在[…]范围内,您在最后的示例中看到了这个范围。如果你真的没有收到,请加上方括号。谢谢@T.J.Crowder,这也是我所怀疑的。我怎样才能修好它。我已更新了我的问题,以包括张贴的表格。你能帮忙吗?看来克莱顿已经解决了-哦,好的,先生。谢谢你指出实际问题。建议你也参考。没有必要对数据进行字符串化并将其感测为FormData,然后在模型属性中再次对其进行反序列化。。
"{\"Id\":\"87\",\"Name\":\"Product x\",\"Cost\":200000,\"Tag\":\"Product_x\"},
 {\"Id\":\"88\",\"Name\":\"Product y\",\"Cost\":100000,\"Tag\":\"Product_y\"}"
public class Product {
    public int Id {get; set;}
    public String Name {get; set;}
    public decimal Cost {get; set;}
    public string Tag {get; set;}
 }
public class ProductViewModel {
    [JsonProperty("SerializedProducts")]
        public string SerializedProducts{ get; set; } // So this model returns the array of objects above

    // Deserializes the SerializedProduct and converts to List of Products.
        public List<Product> Products
        {
            get { return JsonConvert.DeserializeObject<List<Product>>(SerializedProducts); } 
            set { }
        }
 }
"[{\"Id\":\"87\",\"Name\":\"Product x\",\"Cost\":200000,\"Tag\":\"Product_x\"},
 {\"Id\":\"88\",\"Name\":\"Product y\",\"Cost\":100000,\"Tag\":\"Product_y\"}]"
function extractAndFormatFormData(formId) {
    var formData = new FormData();
    var products = [];
    var product = new Product(Id, Name, Cost, Tag);

    // Add product to array
    products.push(JSON.stringify(product));

    // Add products to form
    formData.append('SerializedProducts', products);

    // I'm also attaching a txt file. This is not an issue at the moment
    formData.append('UploadedForm', uploadedFile);

    return formData;
}
var formatedFormData = extractAndFormatFormData(formId);
        var url = '/Dashboard/provision/';
        $.ajax({
            url: url,
            data: formatedFormData,
            type: 'POST',
            datatype: 'json',
            contentType: false,
            processData: false,
            cache: false,
            success: function (data) {
                $('#planDetails').append(data);
            },
            error: function (err) {
                console.log(err);
            }
        });
function extractAndFormatFormData(formId) {
    var formData = new FormData();
    var products = [];
    var product = new Product(Id, Name, Cost, Tag);

    // Add product to array
    products.push(product);

    // Add products to form
    formData.append('SerializedProducts', JSON.stringify(products));

    // I'm also attaching a txt file. This is not an issue at the moment
    formData.append('UploadedForm', uploadedFile);

    return formData;
}