在Postman上执行POST请求时,我有以下JSON:
'{
"bar1": "sample",
"bar2": [
{
"bar1": "sample",
"bar2": "sample",
"bar3": "111111111",
"bar4": "sample",
"bar5": {
"bar6": "varr",
"bar7": [
-70.11111111111111,
-33.11111111111111
]
}
}
],
"bar8": 11111
}'
然而,在我的后端,我有一个数组,我需要将其整形为JSON格式。我构建阵列的方式如下:
$myArray =array(
"bar1" => "sample",
"bar2" => (object) array(
"bar1" => "sample",
"bar2" => "sample",
"bar3" => "111111111",
"bar4"=> "sample",
"bar5" => (object)[
"bar6" => "varr",
"bar7" => array(
-70.111111111111111,
-33.111111111111111
)]
),
"bar8" => 11111
) ;
当涉及到通过cURL发送请求时;内部服务器错误";作为回应。如果我发送JSON原始字符串,我会得到正确的响应。将我的数组转换为我需要的JSON的最佳方式是什么?
json_encode((提供了以下json,它在发出请求时解析为服务器错误。
{
"bar1": "sample",
"bar2": {
"bar1": "sample",
"bar2": "sample",
"bar3": "sample",
"bar4": "sample",
"bar5": {
"bar6": "varr",
"bar7": [
-70.111111111111,
-33.111111111111
]
}
},
"bar8": 11111
}
要使json_encode
生成一个json对象数组,密钥bar2
需要包含一个数组数组,即
$myArray = array(
"bar2" => array(
array(
"hello" => "world"
),
),
);
将原始数组更新为以下格式将生成一个json对象,其中bar2
返回一个对象数组。
$myArray = array(
"bar1" => "sample",
"bar2" => array(
array(
"bar1" => "sample",
"bar2" => "sample",
"bar3" => "111111111",
"bar4" => "sample",
"bar5" => [
"bar6" => "varr",
"bar7" => array(
-70.111111111111111,
-33.111111111111111
)
]
)
),
"bar8" => 11111
);
以下数组将生成以下json。
{
"bar1": "sample",
"bar2": [
{
"bar1": "sample",
"bar2": "sample",
"bar3": "111111111",
"bar4": "sample",
"bar5": {
"bar6": "varr",
"bar7": [
-70.11111111111111,
-33.111111111111114
]
}
}
],
"bar8": 11111
}
演示源。
您尝试过json_encode()
函数吗?