0

我有一些多维 php 数组被传递到我的 c# 应用程序。要在 c# 端提取值,我必须执行以下操作:

String example = (string)((Hashtable)((Hashtable)example_info["FirstLevel"])["SecondLevel"])["example_value"];

我将如何消除将每个维度显式转换为哈希表的需要?我是否需要一个从 example_info 构建某种 List 对象的递归函数,还是我不应该使用哈希表?

4

1 回答 1

0

在这里,使用这个:

    public Dictionary<string, object> Parse(string array)
    { 
        Dictionary<string, object> result = new Dictionary<string, object>();
        Newtonsoft.Json.Linq.JObject obj = (Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(array);
        foreach (KeyValuePair<string, Newtonsoft.Json.Linq.JToken> kvp in obj)
        {
            if (kvp.Value.ToString().Contains('{'))
            {
                result.Add(kvp.Key, Parse(kvp.Value.ToString().Replace("[", "").Replace("]", "")));
            }
            else
            {
                result.Add(kvp.Key, kvp.Value.ToString());
            }
        }
        return result;
    } 
于 2012-05-09T18:49:32.833 回答