当前位置: 首页 > 面试题库 >

删除json_encode()中的双引号

田向荣
2023-03-14
问题内容

我想删除我的json_encode中的双引号,即我的代码:

<?php

require_once 'config.inc.php';
//## Clase Base de Datos
require_once 'Database.class.php';
//## Obtengo los parametros pasados por el metodo GET
$params = $_REQUEST;

$db = new Database(DB_SERVER, DB_USER, DB_PASS, DB_DATABASE);
$db->connect();

$result = mysql_query("SELECT * from ranking WHERE posicion BETWEEN     ".$params['pos_ini']." AND ".$params['pos_fi']) or die('Could not query');

if(mysql_num_rows($result)){
    $array_json=array();
    $filas = mysql_num_rows($result);
    $columnas = mysql_num_fields($result);

    for($i=0;$i<$filas;$i++)
    {
        $fila_dato = mysql_fetch_assoc($result);
        for($k=0;$k<$columnas;$k++)
        {
                    $campo = mysql_field_name($result,$k);
                    $campo = str_replace('\"', '', $campo);
                    $array_json[$i][$campo] = $fila_dato[$campo];
        }
    }
    $array_final = json_encode($array_json);
    $array_final = preg_replace('/"([a-zA-Z]+[a-zA-Z0-9]*)":/','$1:',$array_final);
    echo $array_final;
} else {
    echo '[]';
}
?>

我的结果是:

[{"id_posiciones":"1",posicion:"1",nick:"biwer",puntos:"1000",uid:"1",pais:"ES",idioma:"ES","device_version":"4"}]

我也想删除“ id_posiciones”和“ device_version”的双引号。

我该怎么做的结果是:

[{id_posiciones:"1",posicion:"1",nick:"biwer",puntos:"1000",uid:"1",pais:"ES",idioma:"ES",device_version:"4"}]

问题答案:

如果最后在您的正则表达式中添加下划线,它将执行此操作。

$array_final = preg_replace('/"([a-zA-Z]+[a-zA-Z0-9_]*)":/','$1:',$array_final);

我认为那正是preg_replace的目的。



 类似资料:
  • 问题内容: 我使用jQuery制作了一个小型应用程序。我正在从如下所示的JSON文件中为其设置不可用的日期: 我想检查给定的日期是否已经在此列表中,如果有,请删除它。我当前的代码如下所示: 我的问题是在我再次对数组进行编码后,它看起来像这样: 有没有一种方法可以在JSON文件中找到日期匹配并将其删除,而在编码后不会出现键? 问题答案: 使用您的问题: 为什么?因为您要取消设置数组的键而无需重新排序

  • 下面是JSON字符串: 为了在java对象中反序列化这个字符串,我必须删除\,这可以使用string replace方法来完成。除此之外,在[和]之前还有双引号。我如何删除这些双引号或允许它们时,反序列化使用杰克逊。

  • 我想从字符串中删除双引号中的逗号/逗号。 即以下字符串 应输出: 我试过这个正则表达式: 但是如果双引号中有双引号,它就失败了。 另一个例子: 输出:

  • 问题内容: 这是我的Json代码的示例: 如果我在程序中打印出该属性,则会得到以下输出: 如您所见,它保留了双引号。 有什么办法可以避免这种情况吗? 我的完整代码: java代码将其打印出来: 我的完整Java代码 我的Java程序的输出: 问题答案: 它的文档记录不正确,但是会为您提供一个表示JSON元素的字符串,并且适合于重新创建JSON序列化。你想要的是。如果您不查看字符串,这将引发错误,但

  • 问题内容: 我有一个很好的json_encoded数组。 从函数调用返回时,我需要在json字符串的所有键上去除双引号。 我该如何做并成功返回? 谢谢! 我很抱歉,这是json代码的摘要: 只是添加更多信息: 我将通过AJAX请求检索JSON,因此,如果更简单,我会在javascript方面对如何做到这一点持开放态度。 问题答案: *根据anubhava的评论 *编辑 这当然适用于上面的字符串,尽

  • 问题内容: 我正在使用net.sf.json.JSONObject创建一些要发送到前端应用程序的数据,并且正在与之交互的代码不喜欢其在每个字段名称中添加引号的方式。 例如: 产生字符串{“ JSON”:“ Hello,World”}。 我希望它返回的是{JSON:“ Hello,World”}-在“ JSON”周围没有引号。我该怎么做才能做到这一点? 问题答案: 在javadoc中说: toStr