我如何解析这个JSON字符串

时间:2019-06-17 04:00:40

标签: c# json

我想获取Cape网址,但是访问它时遇到了一些麻烦。

{
    "timestamp": <java time in ms>,
    "profileId": "<profile uuid>",
    "profileName": "<player name>",
    "signatureRequired": true, // Only present if ?unsigned=false is appended to url
    "textures": {
        "SKIN": {
            "url": "<player skin URL>"
        },
        "CAPE": {
            "url": "<player cape URL>"
        }
    }
}

我尝试了多种json方法,但我不知道该怎么做

JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
dynamic dobj = jsonSerializer.Deserialize<dynamic>(thestring);
object result = dobj["textures"][0]["CAPE"][0]["url"];

1 个答案:

答案 0 :(得分:1)

似乎您正在尝试将已解析的json中的对象视为某种数组。

在您使用过[0]的两个地方,它都是在一个对象上完成的。这将查找名称为0的键,该键不存在。

相反,您应该直接使用json键。

您的最终代码应如下所示:

JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
dynamic dobj = jsonSerializer.Deserialize<dynamic>(thestring);
object result = dobj["textures"]["CAPE"]["url"];