将php数组转换为json是错误的

时间:2013-07-03 00:36:38

标签: php arrays json converter

我正在尝试将这个php数组转换为JSON,但生成的JSON不正确,它有一些不存在的空字段。

Array
(
    [0] => Array
        (
            [sala] => ‡ Cinemark 1 - Capacidade 318 pessoas
            [filmes] => Array
                (
                    [0] => Array
                        (
                            [titulo] => 1,0: Minha Mãe é uma Peça
                            [tempo] => 2,1: Duração : 85 minutos
                            [genero] => 3,2: Comédia - Censura : 12 anos
                            [horarios] => 4,3: 11:20; 13:50; 16:20; 18:50; 21:00
                        )

                )

        )

    [1] => Array
        (
            [sala] => ‡ Cinemark 2 - Capacidade 235 pessoas
            [filmes] => Array
                (
                    [0] => Array
                        (
                            [titulo] => 1,4: Guerra Mundial Z
                            [tempo] => 2,5: Legendado - Duração : 116 minutos
                            [genero] => 3,6: Ficção Científica - Censura : 12 anos
                            [horarios] => 4,7: 11:30; 14:10; 16:50; 19:30; 22:20
                        )

                )

        )

    [2] => Array
        (
            [sala] => ‡ Cinemark 3 - Capacidade 235 pessoas
            [filmes] => Array
                (
                    [0] => Array
                        (
                            [titulo] => 1,8: Minha Mãe é uma Peça
                            [tempo] => 2,9: Duração : 85 minutos
                            [genero] => 3,10: Comédia - Censura : 12 anos
                            [horarios] => 4,11: 12:50; 17:30; 20:00; 22:30
                        )

                    [1] => Array
                        (
                            [titulo] => 1,12: Odeio o Dia dos Namorados
                            [tempo] => 2,13: Duração : 101 min
                            [genero] => 3,14: Comédia - Censura : 14 anos
                            [horarios] => 4,15: 15:00
                        )

                )

        )

    [3] => Array
        (
            [sala] => ‡ Cinemark 4 - Capacidade 372 pessoas
            [filmes] => Array
                (
                    [0] => Array
                        (
                            [titulo] => 1,16: Universidade Monstros
                            [tempo] => 2,17: Dublado - Duração : 110 minutos
                            [genero] => 3,18: Animação - Censura : Livre
                            [horarios] => 4,19: 13:00; 15:30; 18:00 | Sessão em 3D
                        )

                    [1] => Array
                        (
                            [titulo] => 1,20: Se Beber, Não Case III
                            [tempo] => 2,21: Legendado - Duração : 100 min
                            [genero] => 3,22: Comédia - Censura : 14 anos
                            [horarios] => 4,23: 20:30
                        )

                )

        )

    [4] => Array
        (
            [sala] => ‡ Cinemark 5 - Sala XD - Capacidade 372 pessoas
            [filmes] => Array
                (
                    [0] => Array
                        (
                            [titulo] => 1,24: Guerra Mundial Z
                            [tempo] => 2,25: Dublado - Duração : 116 minutos
                            [genero] => 3,26: Ficção Científica - Censura : 12 anos
                            [horarios] => 4,27: 13:10; 15:50*; 18:30; 21:10* | Sessão em 3D *Legendado
                        )

                )

        )

    [5] => Array
        (
            [sala] => ‡ Cinemark 6 - Capacidade 235 pessoas
            [filmes] => Array
                (
                    [0] => Array
                        (
                            [titulo] => 1,28: Todo Mundo Em Pânico 5
                            [tempo] => 2,29: Dublado - Duração : 89 minutos
                            [genero] => 3,30: Comédia - Censura : 14 anos
                            [horarios] => 4,31: 12:10; 16:40; 21:50
                        )

                    [1] => Array
                        (
                            [titulo] => 1,32: Os Amantes Passageiros
                            [tempo] => 2,33: Legendado - Duração : 91 minutos
                            [genero] => 3,34: Comédia - Censura : 16 anos
                            [horarios] => 4,35: 14:20; 19:20
                        )

                )

        )

    [6] => Array
        (
            [sala] => ‡ Cinemark 7 - Capacidade 235 pessoas
            [filmes] => Array
                (
                    [0] => Array
                        (
                            [titulo] => 1,36: Universidade Monstros
                            [tempo] => 2,37: Dublado - Duração : 110 minutos
                            [genero] => 3,38: Animação - Censura : Livre
                            [horarios] => 4,39: 12:00; 14:30; 17:10; 19:40
                        )

                )

        )

    [7] => Array
        (
            [sala] => ‡ Cinemark 8 - Capacidade 297 pessoas
            [filmes] => Array
                (
                    [0] => Array
                        (
                            [titulo] => 1,40: Todo Mundo Em Pânico 5
                            [tempo] => 2,41: Legendado - Duração : 89 minutos
                            [genero] => 3,42: Comédia - Censura : 14 anos
                            [horarios] => 4,43: 11:10; 13:20; 15:40; 18:20; 20:50
                        )

                )

        )

)

这是生成的JSON:

[{"sala":"‡ Cinemark 1 - Capacidade 318 pessoas","filmes":[{"titulo":null,"tempo":null,"genero":null,"horarios":"11:20; 13:50; 16:20; 18:50; 21:00"}]},{"sala":"‡ Cinemark 2 - Capacidade 235 pessoas","filmes":[{"titulo":"Guerra Mundial Z","tempo":null,"genero":null,"horarios":"11:30; 14:10; 16:50; 19:30; 22:20"}]},{"sala":"‡ Cinemark 3 - Capacidade 235 pessoas","filmes":[{"titulo":null,"tempo":null,"genero":null,"horarios":"12:50; 17:30; 20:00; 22:30"},{"titulo":"Odeio o Dia dos Namorados","tempo":null,"genero":null,"horarios":"15:00"}]},{"sala":"‡ Cinemark 4 - Capacidade 372 pessoas","filmes":[{"titulo":"Universidade Monstros","tempo":null,"genero":null,"horarios":null},{"titulo":null,"tempo":null,"genero":null,"horarios":"20:30"}]},{"sala":"‡ Cinemark 5 - Sala XD - Capacidade 372 pessoas","filmes":[{"titulo":"Guerra Mundial Z","tempo":null,"genero":null,"horarios":null}]},{"sala":"‡ Cinemark 6 - Capacidade 235 pessoas","filmes":[{"titulo":null,"tempo":null,"genero":null,"horarios":"12:10; 16:40; 21:50"},{"titulo":"Os Amantes Passageiros","tempo":null,"genero":null,"horarios":"14:20; 19:20"}]},{"sala":"‡ Cinemark 7 - Capacidade 235 pessoas","filmes":[{"titulo":"Universidade Monstros","tempo":null,"genero":null,"horarios":"12:00; 14:30; 17:10; 19:40"}]},{"sala":"‡ Cinemark 8 - Capacidade 297 pessoas","filmes":[{"titulo":null,"tempo":null,"genero":null,"horarios":"11:10; 13:20; 15:40; 18:20; 20:50"}]}]

我能做错什么?我正在使用php的json_encode()。

2 个答案:

答案 0 :(得分:1)

我建议您验证您的JSON:http://jsonlint.com/

答案 1 :(得分:1)

尝试使用像

这样的参数的json_encode()
json_encode($a, JSON_UNESCAPED_UNICODE);

请参阅此处的手册:json_encode