php - 在 PHP 中使用文字符号/对象初始值设定项解释 Javascript 对象

标签 php javascript

我制作了一个 PHP 脚本,使用 curl 从远程网站获取对象初始化程序,对象看起来像这样

{'403' : {'3' : { qin : 144, qout : 52}, '4' : { qin : 143, qout : 86}, '5' : { qin : 144, qout : 79}, '6' : { qin : 143, qout : 93}, '7' : { qin : 144, qout : 78} }

¿是否有 PHP 中的函数来解释这个或者我需要使用正则表达式?

JSON 不是有效的,但它是有效的 Javascipt 文字表示法。

最佳答案

不要在生产中使用,而是尝试获取有效的 json 输出

$json = "{'403' : {'3' : { qin : 144, qout : 52}, '4' : { qin : 143, qout : 86}, '5' : { qin : 144, qout : 79}, '6' : { qin : 143, qout : 93}, '7' : { qin : 144, qout : 78} }" ;

$json = preg_replace("/'(\w+)'/", '$1', $json); //remove all single quote
$json = preg_replace("/\s*([a-zA-Z0-9_]+)/", ' "$1"', $json);
$json .= "}"; // Missing End

var_dump($json,json_decode($json));

输出

object(stdClass)[1]
  public '403' => 
    object(stdClass)[2]
      public '3' => 
        object(stdClass)[3]
          public 'qin' => string '144' (length=3)
          public 'qout' => string '52' (length=2)
      public '4' => 
        object(stdClass)[4]
          public 'qin' => string '143' (length=3)
          public 'qout' => string '86' (length=2)
      public '5' => 
        object(stdClass)[5]
          public 'qin' => string '144' (length=3)
          public 'qout' => string '79' (length=2)
      public '6' => 
        object(stdClass)[6]
          public 'qin' => string '143' (length=3)
          public 'qout' => string '93' (length=2)
      public '7' => 
        object(stdClass)[7]
          public 'qin' => string '144' (length=3)
          public 'qout' => string '78' (length=2

关于php - 在 PHP 中使用文字符号/对象初始值设定项解释 Javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13009715/

相关文章:

javascript - javascript 现在是否支持类,为什么我觉得不稳定?

php - Codeigniter 应用程序在 CLI 中返回空白输出

php - 为什么 key 存储在 .env 文件中而不是 php 文件中?

javascript - 如何在表单提交时应用用于所有元素的相同事件监听器?

javascript - 通过更改背景颜色闪烁 html

c# - 将 C# TripleDESCryptoServiceProvider 加密移植到 PHP

javascript - 如何从子弹出窗口的下拉框中抓取 MySQL 记录的多个字段,并将这些值插入到父页面的多个字段中?

javascript - 箭头函数不起作用。普通的可以。为什么?

javascript - 从 iframe 中选择具有相同类名的两个 DIV 中的第二个

javascript - 使用javascript动态计算顶级属性