我想将这个字符串解析为Json:
String str="[{\"property\":\"insert_date\",\"direction\":\"ASC\"}]"
我试过这个:
dynamic myObject=Newtonsoft.Json.JsonConvert.DeserializeObject(str)
但它会返回一些JArray。 我想读取简单的值:
String dir=myObject.direction;
一个选项是解析字符串并从字符串中删除方形对象。比它会工作。但我想以更恰当的方式做到这一点。
答案 0 :(得分:3)
一种方法是创建一个类并将其反序列化为List<ThatClass>
。
例如:
public class Foo
{
[JsonProperty("property")]
public string Property { get; set; }
[JsonProperty("direction")]
public string Direction { get; set; }
}
并像这样使用它:
var foos = JsonConvert.DeserializeObject<List<Foo>>(str);
var foo = foos.First();
Console.WriteLine(foo.Direction);
另一种方法是使用dynamic
,只需访问JArray
的第一个元素:
String str = "[{\"property\":\"insert_date\",\"direction\":\"ASC\"}]";
dynamic objects = JsonConvert.DeserializeObject<dynamic>(str);
Console.WriteLine(objects[0].direction);
答案 1 :(得分:0)
嗯,我想你只需要这样做:
String dir = myobject[0].direction;
这可能是我认为最好的选择