【问题标题】:php array unable to convert to jsonphp数组无法转换为json
【发布时间】:2017-03-28 05:56:41
【问题描述】:

我正在使用 ajax 请求从数据库中获取记录并转换为 json 并返回响应,我将其添加到 ajax 的成功部分,然后将其附加到 html 表中。 现在的问题是 db 中的一些行显示为身份不明的字符。我在转换为 json 之前打印了变量,我在数组中看到了第 15 个键

  [15] => Array
    (
        [UserDetail] => Array
            (
                [first_name] => TEST
                [last_name] => ABC
            )

        [Client] => Array
            (
                [title] => Më-XÝv
                [address] => 
                [contactno] => 
                [city] => Edison
                [profile_pic] => 8467_logo.png
            )
    )

现在看到客户端数组中的标题键,它显示了一些随机字符,这就是数组无法转换为 json 的原因。如何解决此问题并将数组转换为 json。 请帮忙。

【问题讨论】:

  • 你在使用json_encode函数吗?
  • 在查询中设置字符集 $conn->set_charset("utf8");
  • @lalithkumar 是的,我正在使用 json 编码 echo json_encode($ret);
  • 为什么不赞成..请解释一下
  • @Aamir 我没有对你投反对票,但我怀疑这样做的人是因为你没有在你的问题中显示你的代码。编辑您的问题以显示您在做什么以及它正在返回什么。

标签: php arrays json


【解决方案1】:

我发现了问题,标题名称以加密形式存储在表中,并且在获取记录时它正在解密标题值,现在在该行中标题名称是纯文本,因此它将纯文本解密为不可读人物。因此它无法转换为 json。

【讨论】:

    【解决方案2】:

    试试这个。希望这会有所帮助。

    $myArray= Array
            (
                'UserDetail' => Array
                    (
                        'first_name' => 'TEST',
                        'last_name' => 'ABC',
                    ),
    
                'Client' => Array
                    (
                        'title' => 'Më-XÝv',
                        'address' =>'',
                        'contactno' =>'',
                        'city' => 'Edison',
                        'profile_pic' => '8467_logo.png',
                    ),
            );
    

    【讨论】:

      猜你喜欢
      • 2019-06-17
      • 2013-05-20
      • 2016-07-25
      • 1970-01-01
      • 2015-07-02
      • 2016-07-07
      • 2013-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多