2013-08-16 4 views
0
{ 
    "hintsacross": 
    [ { "number":"1" , "hinttext":"Hurt", "hintsquare":"A1" }, 
     { "number":"5" , "hinttext":"Make a selection", "hintsquare":"A6" }, 
     { "number":"8" , "hinttext":"Frank", "hintsquare":"A10" } 
    ] , 
    "hintsdown": 
    [ { "number":"1" , "hinttext":"First Greek letter", "hintsquare":"A1" }, 
     { "number":"2" , "hinttext":"Used footnotes", "hintsquare":"A2" }, 
     { "number":"3" , "hinttext":"Listened to", "hintsquare":"A3" } 
    ] 
} 

По какой-то причине json_decode PHP не расшифровывает этот JSON.PHP json_decode JSON строка не декодирует

Заранее благодарен ...

P.S. Я получаю сообщение об ошибке при выполнении этой строки 25:

$ temp = json_decode ($ obj-> hints, true);

Ошибка синтаксического анализа: ошибка синтаксиса, неожиданный 'hintsacross' (T_STRING) в C: \ Program Files (x86) \ Zend \ Apache2 \ HTDOCS \ кроссворды \ query.blockouts.php на линии

Я проверил мой JSON через JSONlint, и ошибка синтаксического анализа выходит.

+0

показать нам блок кода, который вы используете – mithunsatheesh

+2

недействительный .. JSON запятая (,) отсутствует newr по], "hintsdown": [ – Sundar

ответ

5

Недействительный JSON. Попробуйте добавить запятую перед «hintsdown» и повторите попытку json_decode.

{ 
    "hintsacross": [ 
     { 
      "number": "1", 
      "hinttext": "Hurt", 
      "hintsquare": "A1" 
     }, 
     { 
      "number": "5", 
      "hinttext": "Make a selection", 
      "hintsquare": "A6" 
     }, 
     { 
      "number": "8", 
      "hinttext": "Frank", 
      "hintsquare": "A10" 
     } 
    ], 
    "hintsdown": [ 
     { 
      "number": "1", 
      "hinttext": "First Greek letter", 
      "hintsquare": "A1" 
     }, 
     { 
      "number": "2", 
      "hinttext": "Used footnotes", 
      "hintsquare": "A2" 
     }, 
     { 
      "number": "3", 
      "hinttext": "Listened to", 
      "hintsquare": "A3" 
     } 
    ] 
} 
+2

Как и в сторону, это помогает проверить ваш JSON с помощью онлайн-инструмента или другого валидатора (я использую JSONLint) –

1
$ll="{ "hintsacross": [ { "number":"1" , "hinttext":"Hurt", "hintsquare":"A1" }, { "number":"5" , "hinttext":"Make a selection", "hintsquare":"A6" }, { "number":"8" , "hinttext":"Frank", "hintsquare":"A10" } ], 
    "hintsdown": [ { "number":"1" , "hinttext":"First Greek letter", "hintsquare":"A1" }, { "number":"2" , "hinttext":"Used footnotes", "hintsquare":"A2" }, { "number":"3" , "hinttext":"Listened to", "hintsquare":"A3" } ] } " 

    $ll = json_decode($ll); 
    print_r($ll); 

добавить (,) Запятая возле

], 
    "hintsdown" 

надеюсь, что это поможет

1

JSON не в правильном формате. Используйте jsonlint.com, чтобы проверить это. Вы получите сообщение об ошибке, и если формат json верен, вы получите сообщение в порядке.

Parse error on line 18: 
...A10"  } ]"hintsdown": [  
---------------------^ 
Expecting 'EOF', '}', ',', ']' 

Правильный JSON:

{ 
    "hintsacross": [ 
     { 
      "number": "1", 
      "hinttext": "Hurt", 
      "hintsquare": "A1" 
     }, 
     { 
      "number": "5", 
      "hinttext": "Make a selection", 
      "hintsquare": "A6" 
     }, 
     { 
      "number": "8", 
      "hinttext": "Frank", 
      "hintsquare": "A10" 
     } 
    ], 
    "hintsdown": [ 
     { 
      "number": "1", 
      "hinttext": "First Greek letter", 
      "hintsquare": "A1" 
     }, 
     { 
      "number": "2", 
      "hinttext": "Used footnotes", 
      "hintsquare": "A2" 
     }, 
     { 
      "number": "3", 
      "hinttext": "Listened to", 
      "hintsquare": "A3" 
     } 
    ] 
} 
Смежные вопросы