在c中反序列化javascript对象数组的问题
我在将javascript数组反序列化到c列表类时遇到问题,我已经阅读了其他答案,但没有解决我的问题 对象数组 产品以FormData的形式发布,因此我以上述格式接收它们 产品模型 我有一个视图模型 求你了,我需要帮助。谢谢大家! 更新 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中,在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;
}