JSON строка заменить - PullRequest
       3

JSON строка заменить

0 голосов
/ 09 февраля 2012

Я сейчас изучаю json и столкнулся с проблемой:

Я использую подобный код, чтобы плевать и массив данных:

<?php
 $requiredFieldsArray = array();
    $results = mysql_query("select account_id, display_name, id from field 
where account_id = $holdAcctID and required_flag = 1");
    while($result = mysql_fetch_assoc($results)) 
        {
        $requiredFieldsArray[] = $result;
    }
?>
<script language="javascript">
    var requiredFieldsPRS = <?php echo "new Array(". json_encode($requiredFieldsArray).")"; ?>;
</script>
}

Это выводит это:

 var requiedFieldsPRS = new Array([{"account_id":"3","display_name":"Project Requested By","id":"15"},{"account_id":"3","display_name":"Project Title","id":"18"},{"account_id":"3","display_name":"Project Type","id":"19"},{"account_id":"3","display_name":"Banner Details","id":"20"},{"account_id":"3","display_name":"Email to Me","id":"2910"}]);;

В моем коде, как я могу удалить " [" и "] " с начала иконец массива, поэтому он будет выглядеть следующим образом?

var requiedFieldsPRS = new Array({"account_id":"3","display_name":"Project Requested By","id":"15"},{"account_id":"3","display_name":"Project Title","id":"18"},{"account_id":"3","display_name":"Project Type","id":"19"},{"account_id":"3","display_name":"Banner Details","id":"20"},{"account_id":"3","display_name":"Email to Me","id":"2910"});

Примечание. Открывающая и закрывающая скобки в вышеприведенном выводе отсутствуют.

Ответы [ 2 ]

0 голосов
/ 09 февраля 2012

Вы можете легко обрезать начало и конец [] s для этого конкретного примера:

var requiredFieldsPRS = <?php echo "new Array(". trim(json_encode($requiredFieldsArray), '[]').")"; ?>;

Однако, если ваш конструктор Array не нужен, вы можете просто использовать:

var requiredFieldsPRS = <?php echo json_encode($requiredFieldsArray); ?>;
0 голосов
/ 09 февраля 2012

попробуйте использовать ключ JSON_FORCE_OBJECT

    json_encode($requiredFieldsArray,JSON_FORCE_OBJECT);
...