2013-05-16 47 views
0

Deserialize JSON into C# dynamic object?动态的Json序列化

按照上面的问题,我复制dynamicJsonDeserilization并尝试使用我的应用程序。

然后我尝试访问该对象

var Data = json.deserilization(jsonstring); 

现在,我的字符串是

{ “0”:{ “名称”: “C:\\”, “类型”:”分区”, “路径”: “C:\\”}, “1”:{ “名称”: “d:\\”, “类型”: “分区”, “路径”: “d:\\”} “2”:{ “名称”: “E:\\”, “类型”: “分区”, “路径”: “E:\\”}}

即我有我的服务器上的一组我将其转换为JSON字符串并发送。

根据最佳答案的代码,我应该能够以Data.0的身份访问它,但它会给出“期望的表达结束”,同样Data[0]也会给出相同的错误。我不确定我该如何使用它?任何帮助表示赞赏。谢谢。

+0

您是否试图通过在适当的位置设置断点来检查数据,然后将鼠标指针放在数据上?这使您能够深入了解“Data”的对象结构。 –

+0

我做了,它给我看这个{名称:“ABC”,类型:“10”},名称:“测试”,“年龄”:“10”}}这对我来说也不错。 –

+0

转到http://jsonlint.com/并为其提供字符串以验证它是否有效JSON – Alex

回答

0

现在,我的字符串是

{ “0”:{ “名称”: “C:\”, “类型”: “分区”, “路径”: “C:\”}, “1”:{ “名称”: “d:\”, “类型”: “分区”, “路径”: “d:\”}, “2”:{ “名称”: “E:\”,”类型“:”分区“,”路径“:”E:\“}}

由于转义引号,您的字符串确实无效JSON。这些C:\打破了解析器。你应该产生像这样,发送 backslahes:

{ “0”:{ “名称”: “C:\\\”, “类型”: “分区”, “路径”:” C:\\\“} ...

+0

以及我已经有了斜线,但是我在我的问题中解决了它们,我不知道之前的stackoverflow格式。抱歉。 –

+0

是的,我注意到了。固定的字符串包含**三个**反斜杠。我现在尝试解决格式问题。 – Alex

+0

谢谢。我格式不好:(。 –