110,539
社区成员
发帖
与我相关
我的任务
分享
var classA = new
{
if (true)
{
Name = "aaa";
}
};
JObject postedJObject = new JObject();
postedJObject.Add("class", apiClass);
String paramString = postedJObject.ToString(Newtonsoft.Json.Formatting.None, null);
//{"class":"apiClass"}
dynamic加ExpandoObject可以这样写
public static dynamic setAttr(dynamic obj, string key, object value)
{
var dict = (obj as IDictionary<string, object>);
if (dict.Keys.Contains(key))
{
dict[key] = value;
}
else
{
dict.Add(key, value);
}
return obj;
}
dynamic obj = new ExpandoObject();
setAttr(obj, key, value);
string paramString JsonConvert.SerializeObject(setAttr(obj,"class","apiClass"))
//{"class":"apiClass"}
最后感谢大家了,上述代码贴出来供后人借鉴吧
public class node
{
public int id...
public string name..
public list<node> childnode...
}
这就完了.. 根本没有你所谓的"动态"回头看看, 发觉自己不明白,你要动态的是属性,还是属性值 如果是动态属性,那么dynamic就好了。 如果是属性值,那么 set; 封装方法,直接添加你的 if条件就好了。
回头看看, 发觉自己不明白,你要动态的是属性,还是属性值 如果是动态属性,那么dynamic就好了。 如果是属性值,那么 set; 封装方法,直接添加你的 if条件就好了。
你这么问,我们只能这么回答。 很难知道你项目具体情况,就按你问的回答dynamic obj=new ExpandoObject(); if (xxx == "1") { obj.a = "1"; }
dynamic obj=new ExpandoObject();
if (xxx == "1")
{
obj.a = "1";
}
{
"id": "33539",
"name": "Document_Center",
"aliasname": "DDDDDDD",
"order": "1",
"childnode": [
{
"id": "33690",
"name": "Routers",
"aliasname": "BBBBBB",
"order": "1",
"childnode": [
{
"id": "132332",
"name": "CR",
"aliasname": "HHHHHH",
"order": "1",
"childnode": [
{
"id": "262805",
"name": "CR19000",
"aliasname": "CCCCCCCC",
"order": "1",
"childnode": [
{
"id": "262805"
}]
}]
}]
}]
}
需求是这样的数据库查询出所有数据后,想动态拼装成层次型的数据格式,现在是想动态组装数据到节点里面怎么做呢