我被要求使用json数据,以便在Windows Phone中创建问答游戏。我知道我必须使用 json.net 来实现我过去使用过的方法,但我过去使用的方法在这里没有用。
我的问题是这个。我有这个 json 字符串
[{"corr":"1","q":"text.","type":"0"},
{"corr":"0","q":"text.","type":"0"},
{"corr":"1","q":"text.","type":"0"},
{"corr":"0","q":"text.","type":"0"},
{"corr":"0","q":"text.","type":"0"},
{"corr":"1","q":"text.","type":"0"},
{"corr":"4","q":"text","a":["text","text","text","text"],"type":"1"},
{"corr":"2","q":"text","a":["text","text","text","text"],"type":"1"},
{"corr":"1","q":"text","a":["text","text","text","text"],"type":"1"},
{"corr":"2","q":"text","a":["22,2%","45%","54%","67%"],"type":"1"}]
正如您可以想象的那样,我想用上面的属性填充一些列表。我创建了以下类来表示 json 对象
public class QuizObj
{
public string corr { get; set; }
public string q { get; set; }
public string type { get; set; }
public List<string> a { get; set; }
}
但我真的不知道如何使用它,也找不到真正相关的东西。
这样的事情应该可以解决问题:
var quizObjs = JsonConvert.DeserializeObject<List<QuizObj>>(serializedStringValue);
string corr = quizObjs.First().corr;
// or
foreach(var quizObj in quizObjs)
{
string corr = quizObj.corr;
// etc
}
你将需要添加对NewtonSoft.Json的引用,你可以通过NuGet获取(如果尚未获取)。