2016-01-27 2 views
1

я пытаюсь построить JSON строку, подобную этой:Создать строку JSON из PHP массива с возможными словарями

{ 
    "Token": "MyREALLYLongToken", 
    "rpc": [ 
     ["Somthing", "v", "v", ["text", ["s", "123456"]]], 
     ["Somthing", "v", "v", ["text", ["i", "6"]]] 
    ], 
    "MoreText": 7 
} 

Я знаю, что значение ключа RPC выглядит она содержит два массива. Но мои проблемы: как создать элементы с квадратной скобкой? Являются ли эти массивы? Словари? Как они созданы?

$data = array(
"Token" => "MyREALLYLongToken", 
"rpc" => array(
       array(//WHAT HERE?), 
       array(//WHAT HERE?) 

       ), 
"MoreText" => "7" 

    ); 
+1

Что такое многомерный массив. почему бы вам не изменить желаемую строку, и вы увидите структуру –

ответ

2

Вам нужно создать массивы в пределах массива, например:

$data = array(
"Token" => "MyREALLYLongToken", 
"rpc" => array(
    array("Somthing", "v", "v", array("text", array("s", "123456"))), 
    array("Somthing", "v", "v", array("text", array("i", "6"))) 
    ), 
"MoreText" => "7" 
); 

echo json_encode($data); 

Выход:

{ 
    "Token": "MyREALLYLongToken", 
    "rpc": [ 
     ["Somthing", "v", "v", ["text", ["s", "123456"]]], 
     ["Somthing", "v", "v", ["text", ["i", "6"]]] 
    ], 
    "MoreText": "7" 
} 
0

Попробуйте это:

$array = array(
     "token" => "MyREALLYLongToken", 
     "rpc" => array(
         array("somthing", "v", "v", array("text", array("s", "123456"))), 
         array("somthing", "v", "v", array("text", array("i", "6"))) 
        ), 
     "moretext" => "7" 
     ); 
    echo json_encode($array); 

Результат

{"token":"MyREALLYLongToken","rpc":[["somthing","v","v",["text",["s","123456"]]],["somthing","v","v",["text",["i","6"]]]],"moretext":"7"} 
Смежные вопросы