PHP json_decode () gibt NULL mit gültigem JSON zurück?

Ich habe dieses JSON-Objekt in einer Nur-Text-Datei gespeichert:

{
    "MySQL": {
        "Server": "(server)",
        "Username": "(user)",
        "Password": "(pwd)",
        "DatabaseName": "(dbname)"
    },
    "Ftp": {
        "Server": "(server)",
        "Username": "(user)",
        "Password": "(pwd)",
        "RootFolder": "(rf)"
    },
    "BasePath": "../../bin/",
    "NotesAppPath": "notas",
    "SearchAppPath": "buscar",
    "BaseUrl": "http:\/\/montemaiztusitio.com.ar",
    "InitialExtensions": [
        "nem.mysqlhandler",
        "nem.string",
        "nem.colour",
        "nem.filesystem",
        "nem.rss",
        "nem.date",
        "nem.template",
        "nem.media",
        "nem.measuring",
        "nem.weather",
        "nem.currency"
    ],
    "MediaPath": "media",
    "MediaGalleriesTable": "journal_media_galleries",
    "MediaTable": "journal_media",
    "Journal": {
        "AllowedAdFileFormats": [
            "flv:1",
            "jpg:2",
            "gif:3",
            "png:4",
            "swf:5"
        ],
        "AdColumnId": "3",
        "RSSLinkFormat": "%DOMAIN%\/notas\/%YEAR%-%MONTH%-%DAY%\/%TITLE%/",
        "FrontendLayout": "Flat",
        "AdPath": "ad",
        "SiteTitle": "Monte Maíz: Tu Sitio",
        "GlobalSiteDescription": "Periódico local de Monte Maíz.",
        "MoreInfoAt": "Más información aquí, en el Periódico local de Monte Maíz.",
        "TemplatePath": "templates",
        "WeatherSource": "accuweather:SAM|AR|AR005|MONTE MAIZ",
        "WeatherMeasureType": "1",
        "CurrencySource": "cotizacion-monedas:Dolar|Euro|Real",
        "TimesSingular": "vez",
        "TimesPlural": "veces"
    }
}

Wenn ich versuche, es mit zu dekodierenjson_decode()gibt es NULL zurück. Warum? Die Datei ist lesbar (Ich habe versucht, Echofile_get_contents() und es hat ok funktioniert).

Ich habe JSON gegen getestethttp://jsonlint.com/ und es ist vollkommen gültig.

Was ist hier los?

Lösung

Auf der Suche nach Antworten auf Google bin ich zu SO zurückgekehrt:json_decode gibt nach einem Webservice-Aufruf NULL zurück. Meine JSON-Datei hatte die UTF-BOM-Sequenz (einige binäre Zeichen, die nicht vorhanden sein sollten), wodurch die JSON-Struktur beschädigt wurde. Ging zum Hex-Editor, löschte die Bytes. Alles ist wieder normal. Warum ist das passiert?Weil ich die Datei mit dem Editor von Microsoft Windows bearbeitet habe. Schreckliche Idee!

Antworten auf die Frage(16)

Ihre Antwort auf die Frage