Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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
.net 如何从对象转换为像IDictionary这样更可读的东西_.net_Facebook - Fatal编程技术网

.net 如何从对象转换为像IDictionary这样更可读的东西

.net 如何从对象转换为像IDictionary这样更可读的东西,.net,facebook,.net,Facebook,我很高兴看到4.0.2支持.NET3.5,但是如果没有动态关键字,没有任何示例可以了解如何使用它 比如我有 FacebookApp app = new FacebookApp(GetSettings()); object result = app.Fql(string.Format("SELECT id,name,type FROM profile WHERE id={0}", strID)); 将结果转换为字典或更有用的东西的最简单方法是什么?字典通常是两项

我很高兴看到4.0.2支持.NET3.5,但是如果没有动态关键字,没有任何示例可以了解如何使用它

比如我有

FacebookApp app = new FacebookApp(GetSettings());                

object result = app.Fql(string.Format("SELECT id,name,type FROM profile WHERE id={0}", strID));

将结果转换为字典或更有用的东西的最简单方法是什么?

字典通常是两项列表

字典(TKey,TValue)

在sql的情况下,您将在结果中返回3个字段,除非我遗漏了一些内容,否则它应该只有1个结果集

具有3个参数的单个对象就足够了


现在,如果您返回的多行只有两个字段。。。现在这是一个不同的故事。

发现它没有dynamic 4.0那么性感,但它可以工作:

FacebookApp app = new FacebookApp(GetSettings());
var result = app.Fql(string.Format("SELECT id,name,type FROM profile WHERE id={0}", strID));
var dicResult = ((JsonArray)result)[0] as IDictionary<string, object>;
FacebookApp=newfacebookapp(GetSettings());
var result=app.Fql(string.Format(“从配置文件中选择id、名称、类型,其中id={0}”,strID));
var dicResult=((JsonArray)result)[0]作为IDictionary;

希望它能帮助其他3.5开发者

Patrick,返回的答案name=value,所以我认为字典是一个不错的选择,例如:“id:“1234”,“name:“Jack Juiceson”,“first_name:“Jack”,“last_name:“Juiceson”,等等。我倾向于不同意。。。字典更适合(imo)使用相同参数的重复值列表。。。例子;词典名称;字典中的条目将是Name[“Bob”]=“Bob Smith”;姓名[“弗雷德”]=“弗雷德·琼斯”;等您需要的是一个值对象,然后可以将其序列化为json。。。另外,如果您提到您正在使用json,那么它可能会对您最初的问题有所帮助。。。这稍微改变了一些情况。