根据textarea内容获取json对象

时间:2013-01-18 23:31:06

标签: php

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

textarea看起来像这样:

<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"},
  ]

1 个答案:

答案 0 :(得分:0)

使用json_encode()

$submits = array();

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

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

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

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