我正在尝试在C#中处理一些json格式的数据,但是我遇到了一些问题,无法确定正确的解决方法。我的问题是,json格式的数据将以未知格式存在(我知道这听起来很奇怪...请继续阅读)。基本上,json格式的数据将是一些名称/值对的集合,其中值可能是嵌套名称/值对的数组,也可能不是。为了让事情更有趣,名称/值对数组的嵌套可以无限制地继续下去。
例如: 我可能有一些看起来像这样的数据...
例如: 我可能有一些看起来像这样的数据...
{
"1": {
"1.1": {
"1.1.1": "value1",
"1.1.2": "value2",
"1.1.3": "value3"
},
"1.2": "value4",
"1.3": {
"1.3.1": {
"1.3.1.1": "value5",
"1.3.1.2": "value6"
},
"1.3.1.2": "value7",
"1.3.1.3": "value8"
}
}
}
很不幸,我不知道会出现多少嵌套,从技术上讲,我也不知道在任何给定的消息中会有哪些名称/值对。
C#中是否有任何支持的机制可以使我轻松地将其解析为一组嵌套的哈希表?
我想做类似以下的事情(请注意,此代码不是100%语法正确的,并且最好通过递归来完成...但它可以传达思想)。
Hashtable ht = [deserialize data method](jsonformattedstring);
foreach (Hashtable nested in ht)
{
If (nested.count > 1)
{
Foreach (hashtable next in nested)
…
}
}