2013-10-10 2 views
0

Я сохраняю данные в формате json, который будет обрабатываться php. Значения для каждого объекта (автомобиль, велосипед, мотоцикл) являются цветами, а строка - это только заголовок color.
Это, кажется, не работает хорошо при разборе в php, потому что "color" повторяет.хорошо сформированный json проанализирован с использованием php

Каков наилучший способ форматирования такого списка?

{ 
    "car": { 
      "color":"blue", 
      "color":"green", 
      "color":"red" 
    }, 
    "bicycle": { 
      "color":"purple", 
      "color":"white", 
      "color":"black" 
    }, 
    "motorcycle": { 
      "color":"orange", 
      "color":"red", 
      "color":"green" 
    } 
} 

при разборе

$jsonArr = json_decode($json,true); 

foreach ($jsonArr as $key => $value){ 
    echo $key, ' : '; 
    foreach($value as $v){ 
      echo $v." "; 
    } 
} 

это возвращает только последний пункт

ответ

2

Это может быть действительным JSON, но даже JSON.parse только сохраняет последнее значение для повторного ключа.

Я бы с такого рода структуры

"car": { 
    "colors": ["blue", "green", "red"] 
} 
+0

спасибо, что та же логика и правила распространяются на JavaScript? –

+1

@tq да (см. 'JSON.parse' в моем ответе) – Phil

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