JSON数据在c#中反序列化

时间:2012-11-23 16:42:13

标签: c# .net json serialization

我正在尝试反序列化我编写的Json格式数据代码

 string strJSONData = "[{ \"StatusValue\": \"Test1\", \"StatusValue1\": \"Test2\", \"StatusValue2\": \"Test3\", \"StatusValue3\": \"Test4\", \"test\": \"hibaby\"  }, { \"StatusValue\": \"aTest1\", \"StatusValue1\": \"bTest2\", \"StatusValue2\": \"cTest3\", \"StatusValue3\": \"dTest4\",\"test\": \"hibaby u\" }]";

        JavaScriptSerializer objJavaScriptSerializer = new JavaScriptSerializer();

        List<StatusValueTest> objStatus = objJavaScriptSerializer.Deserialize<List<StatusValueTest>>(strJSONData);

        foreach (StatusValueTest val in objStatus)
        {
            Label1.Text += val.StatusValue;
        }
    }

两个班:

public class StatusValueTest
{

public string StatusValue { get; set; }

public string StatusValue1 { get; set; }

public string StatusValue2 { get; set; }

public string StatusValue3 { get; set; }

public List<StatusList> ram { get; set; }

public StatusValueTest()
{
    ram = new List<StatusList>();
}

}

public class StatusList
{
    public string test { get; set; }

    public StatusList()
    {

    }
}

jSON数据:"[{ \"StatusValue\": \"Test1\", \"StatusValue1\": \"Test2\", \"StatusValue2\": \"Test3\", \"StatusValue3\": \"Test4\", \"test\": \"hibaby\" }, { \"StatusValue\": \"aTest1\", \"StatusValue1\": \"bTest2\", \"StatusValue2\": \"cTest3\", \"StatusValue3\": \"dTest4\",\"test\": \"hibaby u\" }]";

在StatusValue中,StatusValue1,StatusValue2,StatusValue3即将到来,但值不会进入测试。我无法弄清楚为什么会发生这种情况..请在这里帮助我

2 个答案:

答案 0 :(得分:0)

您是否有能力修改JSON数据?看起来应该更像这样:

[{ \"StatusValue\": \"Test1\", 
\"StatusValue1\": \"Test2\", 
\"StatusValue2\": \"Test3\", 
\"StatusValue3\": \"Test4\", 
\"ram\": {\"test"\", hibaby\"} 
}]

答案 1 :(得分:0)

如果我把一切都弄好了,你的json看起来应该是以下

[{ 
"StatusValue": "Test1", 
"StatusValue1": "Test2", 
"StatusValue2": "Test3", 
"StatusValue3": "Test4", 
"ram ": 
[{
"test":"hibaby" 
},{
"test":"hibaby1" 
}]
}]