Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将php数组强制转换为c#哈希表_C#_Php - Fatal编程技术网

将php数组强制转换为c#哈希表

将php数组强制转换为c#哈希表,c#,php,C#,Php,我有一些多维php数组被传给我的c#app。要从c#端提取值,我必须执行以下操作: String example = (string)((Hashtable)((Hashtable)example_info["FirstLevel"])["SecondLevel"])["example_value"]; 我将如何消除将每个维度显式转换为哈希表的需要?我是否需要一个递归函数来根据示例信息构建某种类型的列表对象,或者我不应该使用哈希表?在这里,使用以下方法: public Dictiona

我有一些多维php数组被传给我的c#app。要从c#端提取值,我必须执行以下操作:

String example = (string)((Hashtable)((Hashtable)example_info["FirstLevel"])["SecondLevel"])["example_value"];
我将如何消除将每个维度显式转换为哈希表的需要?我是否需要一个递归函数来根据示例信息构建某种类型的列表对象,或者我不应该使用哈希表?

在这里,使用以下方法:

    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;
    } 
公共字典解析(字符串数组)
{ 
字典结果=新字典();
Newtonsoft.Json.Linq.JObject obj=(Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(数组);
foreach(obj中的KeyValuePair kvp)
{
如果(kvp.Value.ToString()包含('{'))
{
Add(kvp.Key,Parse(kvp.Value.ToString().Replace(“[”,”).Replace(“]);
}
其他的
{
Add(kvp.Key,kvp.Value.ToString());
}
}
返回结果;
} 

c#是否有JSON解析器?您可以使用结构化格式交换数据?我没有使用JSON,这似乎无法处理多维数组。