2013-11-18 5 views
-1

У меня есть следующий PHP массив:PHP массив в JSON массив

array(3) { 
    ["NDQ"]=> 
    array(2) { 
    [0]=> 
    string(6) "Google" 
    [1]=> 
    string(5) "Yahoo" 
    } 
    ["NYSE"]=> 
    array(2) { 
    [0]=> 
    string(5) "3M Co" 
    [1]=> 
    string(19) "Abbott Laboratories" 
    } 
    ["FX"]=> 
    array(1) { 
    [0]=> 
    string(17) "Euro vs US Dollar" 
    } 
} 

Я хочу сохранить это как документ JSON, так что я происходит некорректно:

$instrument_names = json_encode($instrument_names, JSON_FORCE_OBJECT); 
file_put_contents("../data/instrument_names.json", $instrument_names); 

Но файл JSON я получаю заключается в следующем:

{ 
    "NDQ": 
    { 
     "0":"Google", 
     "1":"Yahoo" 
    }, 

    "NYSE": 
    { 
     "0":"3M Co", 
     "1":"Abbott Laboratories" 
    }, 

    "FX": 
    { 
     "0":"Euro vs US Dollar" 
    } 
} 

, где каждое имя было дано ключ в качестве индекса массива (который был последовательно пронумерованных).

Как превратить это в массив вместо этого?

"NDQ": 
{ 
    ["Google","Yahoo"] 
} 
+4

Удалить JSON_FORCE_OBJECT? – jszobody

+0

@Savvas, Woudn't, что формат разбивает ваш JSON? –

+0

@ShankarDamodaran, что было бы неправильно с JSON? – iamyojimbo

ответ

0

Как кто-то любезно указал:

Я использовал вариант JSON_FORCE_OBJECT, что заставляет последовательные массивы быть объекты JSON.

Когда я удалил это, он работал нормально.