Json字符串为null

时间:2013-05-19 14:42:51

标签: php json web

我有以下Json页面:

<?php
    header('Content-Type: json; charset=utf-8');
    $lottery = array(
        array(
            "id" => 0,
            "navn" => "Vind telefon",
            "udgiver" => "Telia",
            "beskrivelse" => "Vind en Iphone 5 ved at gætte 1 spørgsmål",
            "tilmeldte" => 89,
            "startdate" => "10-04-2013",
            "enddate" => "30-06-2013"
        ),
        array(
            "id" => 1,
            "navn" => "Fri taletid",
            "udgiver" => "Telmore",
            "beskrivelse" => "Vind et års forbrug af fri data og fri taletid",
            "tilmeldte" => 701,
            "startdate" => "03-03-2013",
            "enddate" => "10-06-2013"
        ),
        array(
            "id" => 2,
            "navn" => "Vind 5000 kr.",
            "udgiver" => "Bilka",
            "beskrivelse" => "Vind et gavekort på 5000 kr til bilka.",
            "tilmeldte" => 101,
            "startdate" => "10-05-2013",
            "enddate" => "01-07-2013"
        ),
        array(
            "id" => 3,
            "navn" => "Fri vin",
            "udgiver" => "Føtex",
            "beskrivelse" => "Vind et års forbrug af vin",
            "tilmeldte" => 391,
            "startdate" => "01-04-2013",
            "enddate" => "10-07-2013"
        ),
        array(
            "id" => 4,
            "navn" => "Vind et TV",
            "udgiver" => "El-giganten",
            "beskrivelse" => "Vind et 60\" LED tv til stuen",
            "tilmeldte" => 22,
            "startdate" => "01-04-2013",
            "enddate" => "22-07-2013"
        ),
        array(
            "id" => 5,
            "navn" => "Vind en telefon",
            "udgiver" => "Samsung",
            "beskrivelse" => "Vind en Galaxy S4 4g telefon",
            "tilmeldte" => 784,
            "startdate" => "10-04-2013",
            "enddate" => "30-07-2013"
        ),
        array(
            "id" => 6,
            "navn" => "Gratis Vand",
            "udgiver" => "Aqua D'or",
            "beskrivelse" => "Vind et helt års forbrug af vand og dansk vand",
            "tilmeldte" => 345,
            "startdate" => "01-03-2013",
            "enddate" => "18-07-2013"
        ),
        array(
            "id" => 7,
            "navn" => "Fri Adwords",
            "udgiver" => "Google",
            "beskrivelse" => "Vind adwords kuponner til en værdi af 10.000",
            "tilmeldte" => 22,
            "startdate" => "10-02-2013",
            "enddate" => "22-08-2013"
        ),
        array(
            "id" => 8,
            "navn" => "Morgenmads produkter",
            "udgiver" => "Kellogs",
            "beskrivelse" => "Vind et helt års forbrug af kellogs produkter",
            "tilmeldte" => 111,
            "startdate" => "01-05-2013",
            "enddate" => "10-09-2013"
        ),
        array(
            "id" => 9,
            "navn" => "Vind tøjj for 10.000",
            "udgiver" => "Jack & Jones",
            "beskrivelse" => "Vind et gavekort til Jack & Jones på 10.000",
            "tilmeldte" => 33,
            "startdate" => "03-05-2013",
            "enddate" => "01-10-2013"
        )
    );
    //id, navn, udgiver, beskrivelse, tilmeldte, startdate, slutdate
    echo json_encode($lottery);

所有字段都正常但只有一个!

当我打开json时,字段beskrivelse返回null。

以下是My Json

的链接

这是纯文本中的json

[
    {
        "id": 0,
        "navn": "Vind telefon",
        "udgiver": "Telia",
        "beskrivelse": null,
        "tilmeldte": 89,
        "startdate": "10-04-2013",
        "enddate": "30-06-2013"
    },
    {
        "id": 1,
        "navn": "Fri taletid",
        "udgiver": "Telmore",
        "beskrivelse": null,
        "tilmeldte": 701,
        "startdate": "03-03-2013",
        "enddate": "10-06-2013"
    },
    {
        "id": 2,
        "navn": "Vind 5000 kr.",
        "udgiver": "Bilka",
        "beskrivelse": null,
        "tilmeldte": 101,
        "startdate": "10-05-2013",
        "enddate": "01-07-2013"
    },
    {
        "id": 3,
        "navn": "Fri vin",
        "udgiver": null,
        "beskrivelse": null,
        "tilmeldte": 391,
        "startdate": "01-04-2013",
        "enddate": "10-07-2013"
    },
    {
        "id": 4,
        "navn": "Vind et TV",
        "udgiver": "El-giganten",
        "beskrivelse": "Vind et 60\" LED tv til stuen",
        "tilmeldte": 22,
        "startdate": "01-04-2013",
        "enddate": "22-07-2013"
    },
    {
        "id": 5,
        "navn": "Vind en telefon",
        "udgiver": "Samsung",
        "beskrivelse": "Vind en Galaxy S4 4g telefon",
        "tilmeldte": 784,
        "startdate": "10-04-2013",
        "enddate": "30-07-2013"
    },
    {
        "id": 6,
        "navn": "Gratis Vand",
        "udgiver": "Aqua D'or",
        "beskrivelse": null,
        "tilmeldte": 345,
        "startdate": "01-03-2013",
        "enddate": "18-07-2013"
    },
    {
        "id": 7,
        "navn": "Fri Adwords",
        "udgiver": "Google",
        "beskrivelse": null,
        "tilmeldte": 22,
        "startdate": "10-02-2013",
        "enddate": "22-08-2013"
    },
    {
        "id": 8,
        "navn": "Morgenmads produkter",
        "udgiver": "Kellogs",
        "beskrivelse": null,
        "tilmeldte": 111,
        "startdate": "01-05-2013",
        "enddate": "10-09-2013"
    },
    {
        "id": 9,
        "navn": null,
        "udgiver": "Jack & Jones",
        "beskrivelse": null,
        "tilmeldte": 33,
        "startdate": "03-05-2013",
        "enddate": "01-10-2013"
    }
]

谁能告诉我为什么会这样?

2 个答案:

答案 0 :(得分:1)

å超出ASCII范围,因此必须正确地进行utf8编码。尝试这样的事情:

"beskrivelse"=>utf8_encode("Vind et....")

答案 1 :(得分:0)

如果您尝试对包含非utf值的数组进行编码,则会在生成的JSON字符串中获取空值。您可以使用array_map函数批量编码数组的所有元素:

<?php
$encodedArray = array_map(utf8_encode, $rawArray);
?>