Итак, у меня есть куча массивов, внутри которых есть все данные, которые мне требуются для передачи в стороннее приложение. Проблема в том, что им это нужно в определенном формате JSON, и я не представляю, как я могу это сделать. Формат данных, который они требуют, такой:
{
"appData" : {
"appKey" : "blah blah",
"synth" : {
"synth1" : {
"mono" : [
{
"monoId" : "529",
"templates" : [
{
"monoSequenceMap" : [
{
"map" : {
"X" : "3",
"Y" : "1"},
"position" : {
"scale" : "1",
"x1" : "100",
"x2" : "150",
"y1" : "2000",
"y2" : "2500"}
},
{
"map" : {
"X" : "2",
"Y" : "4"},
"position" : {
"scale" : "1",
"x1" : "200",
"x2" : "550",
"y1" : "1000",
"y2" : "1500"}
},
{
"map" : {
"X" : "3",
"Y" : "3"},
"position" : {
"scale" : "1.5",
"x1" : "300",
"x2" : "750",
"y1" : "1750",
"y2" : "1800"}
},
{
"map" : {
"X" : "4",
"Y" : "1"},
"position" : {
"scale" : "1.5",
"x1" : "680",
"x2" : "790",
"y1" : "1950",
"y2" : "1850"}
}
],
"templateId" : "01_A_19"}
]
}
],
"synthId" : "XXXXXXXXXX"}
}
}
}
Я просто хочу несколько советов о том, как преобразовать мои данные в эту строку JSON. Я думаю, что мне нужно использовать json_encode
, Должен ли я создать новый класс с именем appData class, а затем создать каждый объект / массив внутри него? или мне просто написать строку в этом формате в текстовый файл?
Моя проблема в том, что я не могу обернуть голову вокруг того, чтобы все эти объекты были внутри объектов … как, например, в синтезаторе JSON есть объект, который содержит synth1, synth2 и т. Д., Которые будут объектами, которые в свою очередь будут иметь моно, которое будет массив объектов … И я не уверен, как справиться с этим ..
Любые указатели очень ценятся!
Ваши массивы многомерны? Подобно:
$array = array(
"data_table_1" => array(
"item1" => "Item 1",
"item2" => "Item 2"),
"data_table_1" => array(
"item1" => "Item 1",
"item2" => "Item 2")
);
Если это так, все, что вам нужно использовать, это использовать json_encode, и это сделает всю кодировку за вас:
$json = @json_encode($array);
==== Редактировать ====
массивы не должны быть многомерными. Даже массив с одним ключом => значение будет работать. Просто убедитесь, что у вас есть ключи для значений, чтобы они были зарегистрированы правильно.
Других решений пока нет …