0

我正在尝试获取文本区域的值并基于它创建一个 json 对象。

文本区域如下所示:

<textarea name="msisdn" wrap="physical">
51971855080
51971855081
51971855082
</textarea>

动态部分是“messId”和“destAddr”,其他部分将替换为从这样的表单接收到的 php 变量:

$str_obj_json='{
"method":"SUBMIT","params":{
"batchType":"submit",
"batchId":"'.$batch.'",
"origAddr":"550",
"origTon":2,
"userData":"'.$sms.'",
"submits":
  [
   {
   "messId":"mess127_009",
   "destAddr":"51971855080"},
   {
   "messId":"mess127_010",
   "destAddr":"51971855081"},
   {
   "messId":"mess127_011",
   "destAddr":"51971855082"},
  ]
}
}';

如何动态创建这部分?:

  "submits":
  [
   {
   "messId":"mess127_009",
   "destAddr":"51971855080"},
   {
   "messId":"mess127_010",
   "destAddr":"51971855081"},
   {
   "messId":"mess127_011",
   "destAddr":"51971855082"},
  ]
4

1 回答 1

0

使用json_encode()

$submits = array();

for (...) {
    $submits[] = array('messId' => ..., 'destAddr' => ...);
}

$jsonString = json_encode(array('submits' => $submits);

它将 PHP 数组转换为 JSON 表示法。因此,您可以根据需要动态创建数组,然后对其进行编码。

至于使用来自的值textarea:只需使用将相应的$_POST数据分成几行split("\n", $_POST['msisdn'])

于 2013-01-18T23:35:00.637 回答