C# JObject 一些用法

1.声明一个JObject对象

JObject obj = new JObject();

 

 

直接给obj添加key

 

obj["a"] = 1; //int obj["b"] = "2";// string

 

或者

obj = new JObject {{"a",1},{"b","2"}};

 

2.从string导入

比如string的内容为 {“a”:1,”b”:”2″}

string str = "{\"a\":1,\"b\":\"2\"}";
obj= JObject.Parse(txt);

 

3.取key的数量

obj.count//key的数量

//遍历key和value

 

foreach(var x in obj){
x.Key // key
x.Value //value
}

 

4.取值:

int a = obj.Value<int>("a"); // 或 Convert.ToInt32( obj["a"]); 推荐前者

string b = obj.Value<string>("b");// 或 obj["b"].ToString(); 推荐前者

 

除非有多级key的情况下 才推荐后者

比如这个json: {“a”:{“b”: {“c”:1}}};

int a = Convert.ToInt32( obj["a"]["b"]["c"]);

 

这时候 如果用前者的方法 就比较麻烦了 :

int a = obj.Value<JObject>("a").Value<JObject>("b").Value<int>("c");