2016-04-20 2 views
0

Я пытаюсь разобрать данные JSON, но в то время как json_decode()var_dump() показывает значение как null. Ниже моя программа:PHP json_decode, отображающий нуль при разборе JSON

<?php 

$json='_variable_1461092903017=[ { 
    message:"success", 
    data1:{ 
     datalist:[ 
        {field1:"value1",field2:"value2"} , 
        {field1:"value1",field2:"value2"} , 
        {field1:"value1",field2:"value2"} 
     ] 
    }, 
    data2:[ { 
     Date:"20 Apr 2016", 
     details:[ 
        {Code:"123",name:"xyz"}, 
        {Code:"456",name:"abc"}, 
       ], 
     }, 
     { 
     Date:"21 Apr 2016", 
     details:[ 
        {Code:"123",name:"xyz"}, 
        {Code:"456",name:"abc"}, 
       ], 
     }, 
     { 
     Date:"22 Apr 2016", 
     details:[ 
        {Code:"123",name:"xyz"}, 
        {Code:"456",name:"abc"}, 
       ], 
     } 
    ]} 
]'; 

$json_data = json_decode($json); 
var_dump($json_data); 

?> 
+1

Кроме того, если это _were_ JSON, вам, вероятно, понадобится 'json_decode ($ json, True) ', чтобы получить ассоциативный массив. – DuckPuncher

+2

Похоже, вам нужно сделать шаг назад. Откуда у вас этот материал, который вы пытаетесь разобрать? –

ответ

-2

Как и другие сказали, что не является допустимым JSON
вы можете отлаживать его с помощью JSON ЛИНТЕР http://jsonlint.com

Крутая действительный JSON железной дороги схема:
http://www.json.org

Это должно быть то, что вы ищете (я его не выполнил):

<?php 

$json='[{ 
    "message" :"success", 
    "data1":{ 
     "datalist" :[ 
        { "field1":"value1","field2":"value2"}, 
        {"field1":"value1","field2":"value2"}, 
        {"field1":"value1","field2":"value2"} 
     ] 
    }, 
    "data2":[ { 
     "Date":"20 Apr 2016", 
     "details":[ 
        {"Code":"123","name":"xyz"}, 
        {"Code":"456","name":"abc"} 
       ] 
     }, 
     { 
     "Date":"21 Apr 2016", 
     "details":[ 
        {"Code":"123","name":"xyz"}, 
        {"Code":"456","name":"abc"} 
       ] 
     }, 
     { 
     "Date":"22 Apr 2016", 
     "details":[ 
        {"Code":"123","name":"xyz"}, 
        {"Code":"456","name":"abc"} 
       ] 
     } 
    ]} 
]'; 

$json_data = json_decode($json); 
var_dump($json_data); 

Ошибки в формате JSON:

Вы должны удвоить котировка ключи:

{ 
    "key": "value" 
} 

Не:

{ 
    key: "value" 
} 

После вашего закрытия массива кронштейном ] вы добавляете ,

должен быть таким:

{ 
    "datalist": [ "blah", "blah"] 
} 

Не:

{ 
    "datalist": [ "blah", "blah"], 
} 

Последний элемент в массиве не должен иметь запятую после него:

{ 
    "datalist": [{"key1":"value1", {"key2": "value2"}] 
} 

Не:

{ 
    "datalist": [{"key1":"value1", {"key2": "value2"},] 
} 
+0

спасибо. Я следил за вашими инструкциями, – user2679730

Смежные вопросы