【问题标题】:decode json string with long string (morethan 1000 chars) containing + symbol in php在php中使用包含+符号的长字符串(超过1000个字符)解码json字符串
【发布时间】:2019-04-04 15:39:50
【问题描述】:

我有一个包含特殊字符的 json 字符串,例如 +、-、"、'。当我尝试对字符串使用 json_decode 时,解码在 + 符号处中断。无论 + 符号后面的内容是什么都没有解码。

我的代码如下:

//Example string
$str = '{"image":"wo7898Ee/fp+18mtyeex//Z"}';
$res = json_decode($str, true);

我的输出正在打印到 /fp。最后一个字符被截断并将解码输出显示为...

请帮忙

【问题讨论】:

  • 你尝试 json_decode 一个字符串?
  • 您的字符串未格式化为JSON 对象,因此无法使用json_decode() 解码...
  • 我的输出正在打印到 /fp。 - 您发布的代码不会生成任何输出,所以我不知道您在全部
  • 您的代码应该可以工作。也请检查我的答案。
  • @sree 人们已经仔细阅读了您的问题,但其中没有导致您描述的问题的代码。如果您需要帮助,我们需要能够复制该问题。您说您的输出被截断,但您没有向我们展示您如何生成任何输出。你说你的实际字符串超过 1000 个字符,但问题中的那个可以正常工作。

标签: php json


【解决方案1】:
$str = '{
    "image": "wo7898Ee/fp+18mtyeex//Z"
}';
$res = json_decode($str, true);

print_r($res['image']);

假设这是你的 json。一个有效的。然后你可以使用 json_decode 并且可以期待输出。 Json decode 用于(如函数名状态)来解码有效的 json。

输出为:wo7898Ee/fp+18mtyeex//Z

【讨论】:

  • 就我而言,它是一个非常长的字符串,包含超过 1000 个字符。所以,它最后被截断了。未显示总解码输出。
  • 您能提供样品吗?我很确定 json_decode 不会“修剪”任何东西。您是否还尝试 print_r 您的新数组以查看是否确实如此?
猜你喜欢
  • 2019-04-03
  • 2013-06-15
  • 1970-01-01
  • 2015-08-16
  • 1970-01-01
  • 2013-05-31
  • 1970-01-01
  • 1970-01-01
  • 2020-04-28
相关资源
最近更新 更多