我正在从我无法控制的服务器请求数据包,并且他们对开发人员可能遇到的任何问题都不感兴趣。
由于速度的原因,我很想为 PHP 使用内置的 json_decode,但我使用的是来自http://mike.teczno.com/json.html的基于 PHP 的解码器,它对于 40,000 个数据包可能非常慢+ 记录。
这是我从服务器收到 JSON 并去掉斜线(stripslashes())后的 JSON:
{
"results": {
"localPlayers": {
"friends": [
{
"name": "Player Name 1",
"friend_name": "Friend Name 1",
"level": "3"
},
{
"name": ""PlayerName2"",
"friend_name": "",
"level": "3"
},
{
"name": "Pl/\yer Name 3",
"friend_name": "Friend Name 3",
"level": "3"
},
{
"name": "Player Name 4",
"friend_name": "Friend "Name4"",
"level": "4"
}
]
}
}
}
它应该是:
{
"results": {
"localPlayers": {
"friends": [
{
"name": "Player Name 1",
"friend_name": "Friend Name 1",
"level": "3"
},
{
"name": "\"PlayerName2\"",
"friend_name": "",
"level": "3"
},
{
"name": "Pl/\\yer Name 3",
"friend_name": "Friend Name 3",
"level": "3"
},
{
"name": "Player Name 4",
"friend_name": "Friend \"Name4\"",
"level": "4"
}
]
}
}
}
我尝试了不同的方法,并到处搜索可能处理“惰性”JSON 的替代 PHP 扩展。我想我已经通过查看那里的所有 JSON 后代(如果这对一个或另一个正常)融化了我的大脑,但似乎找不到任何合适的东西。
不必手动编辑数据包并使用内置 PHP json 解码器的速度会很好,但获得准确的信息更重要,使用 Services_JSON 是我唯一的答案。
此外,Services_JSON 能够解码的原因是由于该解码器或生成的 JSON 中的错误吗?
我希望有人看到这些“格式错误”的 JSON 数据包并认出它们。
谢谢你。
编辑:
我很抱歉,这是在带斜杠之前来自服务器的数据包:
我最初将带斜线用于撇号。:(
{
"results":{
"localPlayers":{
"friends":[
{
"name":"Player\'s Name 1",
"friend_name":"Friend Name 1",
"level":"3"
},
{
"name":""PlayerName2"",
"friend_name":"",
"level":"3"
},
{
"name":"Pl/\yer Name 3",
"friend_name":"Friend Name 3",
"level":"3"
},
{
"name":"Player Name 4",
"friend_name":"Friend "Name4"",
"level":"4"
}
]
}
}
}