我们可以在php中将字符串传递给json编码方法

时间:2013-07-15 16:40:44

标签: php

我总是注意到json_encode方法将数组作为参数。我的问题是我们可以使用String而不是数组作为方法的参数

json_encode($array);

更新

您好请检查以下代码。我将字符串转换为jason

 $jason = '<h3 style="font-size:15px;">';
    foreach($employee as $key=> $value){
        $jason .= '<table><tbody>';
        $jason .= '<tr><td style="width:400px;padding:5px;padding:10px;"></td><td style="width:300px;padding:5px;"><img style="width:132px; height:175px;" src="'.$image_folder.$value->prfil_img .'" /></td></tr>';
    //$retval .= '<a href="'. $store_url . 'product_info.php?products_id=' . $product_id . '"><img src="' . $image_folder . $product_image . '" /></a><br />';

         $jason .= '<tr><td style="width:30%;font-size:14px;paddig:10px;">'.'Name:'.'</td>'.'<td style="font-size:14px;paddig:5px;">'.$value->first_name.'&nbsp;&nbsp;'.$value->last_name.'</td></tr>';
         $jason .= '<tr><td style="width:30%;font-size:14px;paddig:10px;">'.'Email:'.'</td>'.'<td style="font-size:14px;paddig:5px;">'.$value->email;'</td></tr>';
         $jason .= '<tr><td style="width:30%;font-size:14px;paddig:10px;">'.'Tel Ext:'.'</td>'.'<td style="font-size:14px;paddig:5px;">'.$value->extension;'</td></tr>';
         $jason .= '<tr><td style="width:30%;font-size:14px;paddig:10px;">'.'Account:'.'</td>'.'<td style="font-size:14px;paddig:5px;">'.$value->account;'</td></tr>';
         $jason .= '</table></tbody>';
        // echo '</br>';echo '</br>';

   }
        $jason .= '</h3>';

   echo json_encode($jason);

但接下来我要跟进

enter image description here

但如果我不使用jason编码,我会清楚地得到结果。 (没有破坏html元素的语法)。所以有人对此有任何想法吗?我在哪里做错了?

当我在wordpress中使用ajax时,我需要使用jason编码数据。

请注意,当我将jason编码应用于以下内容时,我会接受以下内容

$jason = '<tr><td style="width:90%;font-size:14px;">';
$jason .= 'val 2';
echo json_encode($jason) ;

输出是“val 2” 因此,我认为杰森格式数据。

5 个答案:

答案 0 :(得分:3)

是的,你可以

表格http://php.net/manual/en/function.json-encode.php

“正在编码的值。可以是除资源之外的任何类型。”

答案 1 :(得分:3)

是的,你可以。 documentation表示mixed value可用作输入。

答案 2 :(得分:3)

如果您在PHP手册中注明了json_encode()它说:

  

注意:

     

与引用JSON编码器一样,json_encode()将生成JSON   如果给定a,则是一个简单的值(即,既不是对象也不是数组)   string,integer,float或boolean作为输入值。虽然大多数   解码器将接受这些值作为有效的JSON,有些可能不接受   规范在这一点上含糊不清。

因此,您可以传递一个字符串值并对其进行编码,只是不要指望该值能够被普遍解码。根据您的使用情况,最好将其放在数组包装器中。

此外,此函数不仅会采用数组,还会正确编码对象(或其他简单值)。

答案 3 :(得分:2)

好吧mixed,我很确定字符串也能正常工作。

看! It does!

答案 4 :(得分:1)

  $a = '"Hello World"';

  echo json_encode ($a);

  // outputs "\"Hello World\""   with the quotes

请注意,这将正确转义字符串中的字符,因此您可以说

  <script>
      var a = <?php echo json_encode($a); ?>;
  </script>

没有两个担心自己逃跑。