在 C# 中使用 JavascriptSerializer 解析未知 JSON
如何使用 JavaScriptSerializer 解析一些未知的动态 JSON。特别是,我正在为 Google Calendar API 编写自己的包装器。事件有一个名为 ExtendedProperties 的对象,其中包含一个私有对象和共享对象,其中包含一组未知的属性:
"extendedProperties": {
"private": {
"UnknownKey1": "UnknownValue1",
"UnknownKey2": "UnknownValue2",
"UnknownKey3": "UnknownValue3"
},
"shared": {
"UnknownKey1": "UnknownValue1",
"UnknownKey2": "UnknownValue2",
"UnknownKey3": "UnknownValue3"
}
}
我想为 JavaScriptSerializer 创建一个这样的类:
public class ExtendedProperties
{
public ??? @private { get; set; }
public ??? shared { get; set; }
}
当然存在问题。
(1) 序列化程序是否理解 & 符号,以便解析属性“private”?
(2) JavaScriptSerializer 可以读/写的属性的返回类型是什么?某种字典?
提前致谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我使用此代码来反序列化未知的 json 对象。
I have used this code to deserialize unknown json objects.
解析器理解
@
符号。如果您使用 .net 4,则可以使用dynamic
作为类型。您可以尝试Dictionary
尽管我在序列化和反序列化方面一直遇到问题字典指向同一参考对象。List>
通常可以解决问题。The parser understands the
@
symbol. You can usedynamic
as your type if you're using .net 4. You could tryDictionary<string,string>
although I've always had problems with serializing and deserializing dictionaries to the same reference object.List<KeyValuePair<string, string>>
usually does the trick.