1

我被要求使用 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; }
}

但我真的不知道如何使用它,也找不到真正相关的东西。

4

1 回答 1

1

这样的事情应该可以解决问题:

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获得它(如果您还没有的话)。

于 2013-02-01T01:52:22.330 回答