由于某些原因,下面的JSON字符串在自定义对象数组中创建正确的记录数,但不使用和值填充数组中的对象。帮助感激!
JSON字符串
{
"Grids": [{ "CommitImporterGrid": {"CostDivisionCode": "DL", "CostDivisionKey": 5, "CostDivisionName": "Direct Labor", "SourceType": "Contractor", "CommitDollars": 202, "CommitHours": 113.12, "PercentComplete": 50.00, "TaxRate": 0, "IohRate": 0.01, "ConditionerRate": 0}}],
"ProjectKey": 571,
"AsOf": "1/1/2008 11:59:59 PM",
"WbsKey": 1327,
"FcrGroupKey": 26,
"ContractorKey": 11
}反序列化器
protected void btnSave_Click(object sender, EventArgs e)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
JsonViewer view = serializer.Deserialize<JsonViewer>(txtJson.Value);
// The LIST in the "view" object HAS records, but NO DATA?
}自定义类
public class JsonViewer
{
public JsonViewer()
{ }
public List<CommitImporterGrid> Grids { get; set; }
public Int32 ProjectKey { get; set; }
public String AsOf { get; set; }
public Int32 WbsKey { get; set; }
public Int32 FcrGroupKey { get; set; }
public Int32 ContractorKey { get; set; }
}
public class CommitImporterGrid
{
public CommitImporterGrid()
{ }
public String CostDivisionCode { get; set; }
public Int32 CostDivisionKey { get; set; }
public String CostDivisionName { get; set; }
public String SourceType { get; set; }
public Decimal CommitDollars { get; set; }
public Decimal CommitHours { get; set; }
public Decimal PercentComplete { get; set; }
public Decimal TaxRate { get; set; }
public Decimal IohRate { get; set; }
public Decimal ConditionerRate { get; set; }
}发布于 2010-07-21 18:46:14
老:(坏)
{
"Grids": [
{
"CommitImporterGrid":
{
"CostDivisionCode": "DL",
"CostDivisionKey": 5,
"CostDivisionName": "Direct Labor",
"SourceType": "Contractor",
"CommitDollars": 202,
"CommitHours": 113.12,
"PercentComplete": 50.00,
"TaxRate": 0,
"IohRate": 0.01,
"ConditionerRate": 0
}
}
],
"ProjectKey": 571,
"AsOf": "1/1/2008 11:59:59 PM",
"WbsKey": 1327,
"FcrGroupKey": 26,
"ContractorKey": 11
}新的:
{
"Grids": [
{
"CostDivisionCode": "DL",
"CostDivisionKey": 5,
"CostDivisionName": "Direct Labor",
"SourceType": "Contractor",
"CommitDollars": 202,
"CommitHours": 113.12,
"PercentComplete": 50.00,
"TaxRate": 0,
"IohRate": 0.01,
"ConditionerRate": 0
}
],
"ProjectKey": 571,
"AsOf": "1/1/2008 11:59:59 PM",
"WbsKey": 1327,
"FcrGroupKey": 26,
"ContractorKey": 11
}我上面的那个人有这个解释,我想我会给你看正确的JSON。
发布于 2010-07-21 18:28:52
数组JSON包含一个带有一个名为CommitImporterGrid的属性的对象。这在代码中任何地方都不会出现。我认为您需要从JSON中丢失这个{ "CommitImporterGrid":,以及相应的近旋括号。
https://stackoverflow.com/questions/3302485
复制相似问题