Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.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
C# 访问嵌套ExpandoObject中的数据_C#_Json_Win Universal App_Expandoobject - Fatal编程技术网

C# 访问嵌套ExpandoObject中的数据

C# 访问嵌套ExpandoObject中的数据,c#,json,win-universal-app,expandoobject,C#,Json,Win Universal App,Expandoobject,我有以下代码: string responJsonText = "{'A609C5DC-E86A-11E5-BD37-3EF25AFC4F71': {'username': 'testuser1','mydata1': 52,'mydata2': 1,'mydata3': '+1889','lastupdate': '2016-03-21 11:49:28'},'C5DD67C5-F34B-34DC-DB67-4F5376BD7813': {'username': 'testus

我有以下代码:

        string responJsonText = "{'A609C5DC-E86A-11E5-BD37-3EF25AFC4F71': {'username': 'testuser1','mydata1': 52,'mydata2': 1,'mydata3': '+1889','lastupdate': '2016-03-21 11:49:28'},'C5DD67C5-F34B-34DC-DB67-4F5376BD7813': {'username': 'testuser2','mydata1': 52.7,'mydata2': 1.5,'mydata3': '+2373','lastupdate': '2016-03-20 14:38:28'}}"; 
        //data usually retrieved from web service
        dynamic response = new ExpandoObject();
        response = Newtonsoft.Json.JsonConvert.DeserializeObject<ExpandoObject>(responJsonText);

        foreach (KeyValuePair<string, object> kvp in response)
        {
            Debug.WriteLine("{0} = {1}", kvp.Key, kvp.Value);
            foreach (KeyValuePair<string, object> kvp2 in kvp.Value as ExpandoObject) 
                Debug.WriteLine("{0} = {1}", kvp2.Key, kvp2.Value);
        }

这可能吗?

有很多方法可以在
responJsonText
中获取
用户名。一种简单的方法如下所示:

string responJsonText = "{'A609C5DC-E86A-11E5-BD37-3EF25AFC4F71': {'username': 'testuser1','mydata1': 52,'mydata2': 1,'mydata3': '+1889','lastupdate': '2016-03-21 11:49:28'},'C5DD67C5-F34B-34DC-DB67-4F5376BD7813': {'username': 'testuser2','mydata1': 52.7,'mydata2': 1.5,'mydata3': '+2373','lastupdate': '2016-03-20 14:38:28'}}";

JObject o = JObject.Parse(responJsonText);
var children = o.Children().Children()["username"].Values<string>();

foreach (var item in children)
{
    Debug.WriteLine(item);
}
string responJsonText=“{'A609C5DC-E86A-11E5-BD37-3EF25AFC4F71':{'username':'testuser1','mydata1':52,'mydata2':1,'mydata3':'+1889','lastupdate':'2016-03-21 11:49:28','C5DD67C5-f34dc-DB67-4F5376BD7813':{'username':'testuser2','mydata1':52.7,'mydata2':1.5','mydata3':'mydata3':'2016-03-21:49:28';
JObject o=JObject.Parse(responJsonText);
var children=o.children().children()[“用户名”].Values();
foreach(子项中的变量项)
{
调试写入线(项目);
}
或使用类似:

JObject o=JObject.Parse(responJsonText);
IEnumerable names=o.SelectTokens($…用户名);
foreach(名称中的变量项)
{
调试写入线(项目);
}
string responJsonText = "{'A609C5DC-E86A-11E5-BD37-3EF25AFC4F71': {'username': 'testuser1','mydata1': 52,'mydata2': 1,'mydata3': '+1889','lastupdate': '2016-03-21 11:49:28'},'C5DD67C5-F34B-34DC-DB67-4F5376BD7813': {'username': 'testuser2','mydata1': 52.7,'mydata2': 1.5,'mydata3': '+2373','lastupdate': '2016-03-20 14:38:28'}}";

JObject o = JObject.Parse(responJsonText);
var children = o.Children().Children()["username"].Values<string>();

foreach (var item in children)
{
    Debug.WriteLine(item);
}
JObject o = JObject.Parse(responJsonText);
IEnumerable<JToken> names = o.SelectTokens("$..username");

foreach (var item in names)
{
    Debug.WriteLine(item);
}