所以我有一堆数组,其中包含我需要传递给第三方应用程序的所有数据。问题是他们需要特定的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'类的新类,然后在其中创建每个对象/数组吗?或者我应该只将这种格式的字符串写入文本文件?
我的问题是我无法将所有这些对象包裹在对象内部...例如,在JSON合成器中是一个包含synth1,synth2等的对象,这些对象又将具有单声道这将是一系列对象......我不知道如何解决这个问题......
非常感谢任何指针!
答案 0 :(得分:0)
你的数组是多维的吗?像:
$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);
====编辑====
数组不必是多维的。即使是具有单个键的数组=>价值会起作用。请确保您拥有值的键,以便他们正确注册。