【问题标题】:Return file content in json encoding以 json 编码返回文件内容
【发布时间】:2016-02-17 16:50:24
【问题描述】:

我有一个这样结构的txt文件:

17/02/2016 [info] "hello"
17/02/2016 [debug] "world"

现在我正在尝试阅读它:

$fh = fopen("myfile.txt", "r");

while ($line = fgets($fh))
{
     echo json_encode($line);
}
fclose($fh);

文件被正确读取,但是在我的 chrome 扩展中尝试 Rest API 我进入了 json 选项卡:

意外的字符串

原始结构是这样的:

"17/02/2016 [info] "hello" \rn""17/02/2016 [debug] "world" \rn...

如何返回 json 内容中的每一行?我希望有一个更好的组织来回应。

【问题讨论】:

  • 您提供的原始结构永远不会编码为 JSON...因为它不是 JSON 格式:json.org
  • 我知道它是原始的......但我想在 json 中编码每一行以避免错误:unexpected string

标签: php json rest


【解决方案1】:

您好,如果您的文件中有相同的字符串结构,您可以解析输入,并使用您的字段(日期、信息、文本)创建一个数组或对象,并使用 json 对数组或对象进行编码,例如 @ 987654321@ 每行并使用正则表达式将行结构放入数组或对象中,最后您可以将对象数组或数组数组作为编码的 json 发送。 您可以使用([0-9]*\/[0-9]*\/[0-9]*)\s+\[([^\]]*)\]\s*\"([^\"]*)" 这样的正则表达式并从每一行获取您的信息

【讨论】:

  • 嗯我实际上已经修复了创建一个数组,使用array_push,最后以json编码返回数组
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-04
  • 1970-01-01
  • 2016-04-13
相关资源
最近更新 更多