我正在创建一些数组并将它们转换为JSON字符串,但我发现了一些奇怪的东西-有些字符串,当我对它们进行JSON编码时,正在\ r \ n添加到字符串的开头和结尾。我正在编码的字符串是从HTML元素中提取的。
$arr = array(
'licStat' => $rows2[13]->nodeValue,
'expDate' => dateReplace($data[5]->nodeValue),
'dicAct' => $rows2[11]->nodeValue
);
echo json_encode($arr);
预期输出:
{"licStat":"Expired","expDate":"1999-12-20","dicAct":"Yes"}
实际输出:
{"licStat":"\r\n Expired\r\n ","expDate":"1999-12-20","dicAct":"\r\n Yes\r\n "}
似乎$rows2[13]->nodeValue
和$rows2[11]->nodeValue
中有进位返回和换行符。
您可以使用trim()摆脱它们:
$arr = array(
'licStat' => trim($rows2[13]->nodeValue),
'expDate' => dateReplace(
$data[5]->nodeValue
),
'dicAct' => trim($rows2[11]->nodeValue)
);
echo json_encode($arr);