JSON_decode удаляет допустимый JSON

0

это json (проверенный с помощью jsonlint.com) хотел бы преобразовать в массив:

    {  
   "header":{  
      "gtfs_realtime_version":"1.0",
      "incrementality":"FULL_DATASET",
      "timestamp":"1425644644"
   },
   "entity":{  
      "id":"54a2d01be4b035374130324a",
      "alert":{  
         "active_period":{  
            "start":"1418511600",
            "end":"1450047540"
         },
         "informed_entity":{  
            "agency_id":"BRER",
            "route_id":"BRER-623-3"
         },
         "cause":"OTHER_CAUSE",
         "effect":"OTHER_EFFECT",
         "header_text":{  
            "translation":{  
               "text":"Nachtzuschlag",
               "language":"de"
            }
         },
         "description_text":{  
            "translation":{  
               "text":"Zuschlagpflichtiges Nachtnetz ab 01h00. Bitte Nachtzuschlag am Automaten, beim Fahrpersonal oder per SMS (NZ an 988 zu CHF 5.-/SMS) lösen.",
               "language":"de"
            }
         }
      }
   },
   "entity":{  
      "id":"54e31129e4b025511c91cc41",
      "alert":{  
         "active_period":{  
            "start":"1424646000",
            "end":"1425657600"
         },
         "informed_entity":{  
            "agency_id":"PAG",
            "route_id":"PAG65-2004-3"
         },
         "cause":"OTHER_CAUSE",
         "effect":"OTHER_EFFECT",
         "header_text":{  
            "translation":{  
               "text":"Umleitung Linie 825",
               "language":"de"
            }
         },
         "description_text":{  
            "translation":{  
               "text":"Aufgrund Holzschlags wird  die Linie 825 ab Herdern bis Eschenz über Mammern umgeleitet. Dauer der Umleitung ist von 02.03.2015 bis 06.03.2015 um 16:30Uhr.",
               "language":"de"
            }
         }
      }
   },
   "entity":{  
      "id":"533ac08ae4b06c7674efd2b2",
      "alert":{  
         "active_period":{  
            "start":"1396382400",
            "end":"1449885600"
         },
         "informed_entity":{  
            "agency_id":"VBSG",
            "route_id":"VBSG117"
         },
         "informed_entity":{  
            "agency_id":"VBSG",
            "route_id":"VBSG116"
         },
         "cause":"OTHER_CAUSE",
         "effect":"OTHER_EFFECT",
         "header_text":{  
            "translation":{  
               "text":"Nachtzuschlag",
               "language":"de"
            }
         },
         "description_text":{  
            "translation":{  
               "text":"Bitte für alle Verkehrsmittel, welche fahrplanmässig nach 01.00 Uhr verkehren, einen Nachtzuschlag von fünf Franken lösen.",
               "language":"de"
            }
         }
      }
   },
   "entity":{  
      "id":"54ec7ea0e4b035374130379d",
      "alert":{  
         "active_period":{  
            "start":"1425355200",
            "end":"1430503200"
         },
         "informed_entity":{  
            "agency_id":"RTB",
            "route_id":"RTB-412-3"
         },
         "cause":"OTHER_CAUSE",
         "effect":"OTHER_EFFECT",
         "header_text":{  
            "translation":{  
               "text":"Umleitung Linie 412",
               "language":"de"
            }
         },
         "description_text":{  
            "translation":{  
               "text":"Aufgrund Bauarbeiten wird  Linie 412 umgeleitet. Die Haltestelle Grabserberg, Rogghalm wird während der Bauphase nicht bedient.",
               "language":"de"
            }
         }
      }
   }
}

при анализе json_decode (..., true) все, что я получаю взамен:

Array
(
    [header] => Array
        (
            [gtfs_realtime_version] => 1.0
            [incrementality] => FULL_DATASET
            [timestamp] => 1425644644
        )

    [entity] => Array
        (
            [id] => 54ec7ea0e4b035374130379d
            [alert] => Array
                (
                    [active_period] => Array
                        (
                            [start] => 1425355200
                            [end] => 1430503200
                        )

                    [informed_entity] => Array
                        (
                            [agency_id] => RTB
                            [route_id] => RTB-412-3
                        )

                    [cause] => OTHER_CAUSE
                    [effect] => OTHER_EFFECT
                    [header_text] => Array
                        (
                            [translation] => Array
                                (
                                    [text] => Umleitung Linie 412
                                    [language] => de
                                )

                        )

                    [description_text] => Array
                        (
                            [translation] => Array
                                (
                                    [text] => Aufgrund Bauarbeiten wird  Linie 412 umgeleitet. Die Haltestelle Grabserberg, Rogghalm wird während der Bauphase nicht bedient.
                                    [language] => de
                                )

                        )

                )

        )

)

Как я могу запретить json_decode большую часть данных?

  • 0
    Я не вижу проблемы. Что вы имеете в виду под уничтожением точно?
  • 0
    Попробуйте json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] ) параметр глубины json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )
Показать ещё 1 комментарий
Теги:
arrays

1 ответ

1
Лучший ответ

Вы не можете этого добиться, потому что в объектных именах объектов JSON не следует дублировать.

У вас много раз повторяются events. С точки зрения PHP это прекрасно, но в JSON это неверно.

Взгляните на http://wiki.solarium-project.org/index.php/V2:BufferedAdd_plugin

Ещё вопросы

Сообщество Overcoder
Наверх
Меню