特殊的HTML JSON解析


Special HTML JSON parsing

我有一个JSON字符串,如下所示:

a: 2: {
    s: 4: "unit";
    s: 2: "h1";
    s: 5: "value";
    s: 40: "Mercedes-Benz A 45 AMG / 340 PS / Allrad";
}

现在,我不知道该怎么办,因为键很奇怪(我认为在s中,这意味着字符串的长度)。

如果我这样使用它,任何东西都无法解析它(使用phpjson_decode或使用obj-c SBJsonParser)。有没有办法在php中生成这样的html,或者我如何只读取最后一个值?

提前感谢

这看起来像是序列化的数组,但您的字符串肯定是无效的。(http://php.net/manual/en/function.unserialize.php)

这不是一个有效的JSON,因此没有JSON解析器会读取它,您可以将它视为一个常规字符串,并使用字符串操作来获得所需内容。

在PHP中为了得到最后一个值:

$str = ...//your json string
$lastValue = substr($str,strripos($str,'s:'));

这应该返回(根据您的样本输入):"40:"梅赛德斯-奔驰A 45 AMG/340 PS/Allrad";"

上述JSON格式绝对无效。

{
    "a": {
        "2": [
            { "s": { "4": "unit" } },
            { "s": { "2": "h1" } },
            { "s": { "5": "value" } },
            { "s": { "40": "Mercedes-Benz A 45 AMG / 340 PS / Allrad" } }
        ]
    }
}

这将是一个有效的JSON格式

我建议将其作为开头的字符串。然后使用字符串操作来去掉"a:"answers"s:"。其他请求可能会返回其他类型(如果我是对的,这些字母表示数据类型。)然后您可以尝试使用JSON解析器对其进行解析。

但不能保证:)因为我无法完全确定这些数字是有效的JSON还是必须封装在引号中。