0

私が制御できないサーバーからのパケットを要求していますが、サーバーは開発者が抱える可能性のある問題には関心がありません。

速度のために PHP に組み込みの json_decode を使用したいのですが、http://mike.teczno.com/json.html の PHP ベースのデコーダーを使用しています。40,000 のパケットでは非常に遅くなる可能性があります。 + レコード。

これは、サーバーから受信してスラッシュを削除した後の JSON (stripslashes()) です。

{
"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"
            }
         ]
      }
   }
}
4

1 に答える 1