所以我有一堆数组,里面有传递给第三方应用程序所需的所有数据。问题是他们需要一个特定的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中,synth是一个包含synth1、synth2等的对象,这些对象将具有mono,mono将是一个对象数组。。。我不知道该如何解决这个问题。。
非常感谢任何指点!
您的数组是多维的吗?类似:
$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);
====编辑====
数组不必是多维的。即使是具有单个键=>值的数组也可以工作。只要确保您有值的密钥,这样它们就可以正确注册。