Há uma postagem andyrusterholz at g-m-a-i-l dot c-o-mna página mencionada acima que também pode lidar com matrizes aninhadas complexas (se é isso que você gosta).
Dang, mano, você foi instantâneo nessa resposta =). Eu estava animado com a pergunta fácil =)
Calvin Froedge
2
Eu tenho esse código while ($ row = mysql_fetch_assoc ($ query_insert)) {$ control = array ('regione' => $ row ["regione"], 'totale' => $ row ["prezzi"]); } print (json_encode (% de controle)); mas retun { "regione": "Puglia", "totale": "5,15"} não [{..}, {..}]
Mimmo
2
Adicione 1 para a referência de limão. :-)
ban-geoengineering
Eu fiz isso, mas a resposta que recebo usando a função var_dumb é a seguinte. Como posso me livrar da string (59)? string (59) "[{" result ":" success "}, {" message ":" Dados atualizados! "}]"
Com licença, mas se eu quiser {"nome_array": [{"foo": "bar"}, {"foo": "baz"}]} ??
18711 Mimmo
2
Leia meu post novamente. Se você deseja que algo se traduza em um objeto JSON, torne-o um array associativo em PHP (onde as chaves são cadeias). Se você deseja que ele se traduza em uma lista JSON, torne-o uma matriz simples (com chaves inteiras implícitas). O valor de cada elemento da matriz pode, por sua vez, ser uma matriz, que é o que você deseja.
tdammers
Graças isso respondeu minha pergunta também.
precisa saber é o seguinte
Eu fiz isso, mas a resposta que recebo usando a função var_dumb é a seguinte. Como posso me livrar da string (59)? string (59) "[{" result ":" success "}, {" message ":" Dados atualizados! "}]"
James Smith
13
A melhor maneira de você criar sempre o json no php é primeiro converter valores no array ASSOCIATIVE.
Depois disso, basta codificar usando json_encode($associativeArray). Eu acho que é a melhor maneira de criar json em php, porque sempre que estamos buscando resultado da consulta sql em php na maioria das vezes obtemos valores usando a fetch_assocfunção, que também retorna uma matriz associativa.
Digitar esta única linha forneceria uma matriz json,
echo json_encode($array);
Normalmente você usa json_encodepara ler dados de um aplicativo iOS ou Android. portanto, certifique-se de não repetir nada além da matriz json precisa.
Criei uma classe jsonOBJ crua e simples para usar no meu código. O PHP não inclui funções json como JavaScript / Node. Você precisa iterar de maneira diferente, mas pode ser útil.
<?php
// define a JSON Object classclass jsonOBJ {private $_arr;private $_arrName;function __construct($arrName){
$this->_arrName = $arrName;
$this->_arr[$this->_arrName]= array();}function toArray(){return $this->_arr;}function toString(){return json_encode($this->_arr);}function push($newObjectElement){
$this->_arr[$this->_arrName][]= $newObjectElement;// array[$key]=$val;}functionadd($key,$val){
$this->_arr[$this->_arrName][]= array($key=>$val);}}// create an instance of the object
$jsonObj =new jsonOBJ("locations");// add items using one of two methods
$jsonObj->push(json_decode("{\"location\":\"TestLoc1\"}",true));// from a JSON String
$jsonObj->push(json_decode("{\"location\":\"TestLoc2\"}",true));
$jsonObj->add("location","TestLoc3");// from key:val pairs
echo "<pre>". print_r($jsonObj->toArray(),1)."</pre>";
echo "<br />". $jsonObj->toString();?>
// return a JSON Object (jsonOBJ) from the rowsfunctionParseRowsAsJSONObject($arrName, $rowRS){
$jsonArr =new jsonOBJ($arrName);// name of the json array
$rows = mysqli_num_rows($rowRS);if($rows >0){while($rows >0){
$rd = mysqli_fetch_assoc($rowRS);
$jsonArr->push($rd);
$rows--;}
mysqli_free_result($rowRS);}return $jsonArr->toArray();}
Respostas:
Squeezy de limão fácil e fácil: http://www.php.net/manual/en/function.json-encode.php
Há uma postagem
andyrusterholz at g-m-a-i-l dot c-o-m
na página mencionada acima que também pode lidar com matrizes aninhadas complexas (se é isso que você gosta).fonte
Use o nativo do PHP
json_encode
, assim:Atualização : para responder à sua pergunta no comentário. Você faz assim:
fonte
Simples: basta criar uma matriz PHP (aninhada) e ligar
json_encode
para ela. Matrizes numéricas são convertidas em listas JSON ([]
), matrizes associativas e objetos PHP convertidas em objetos ({}
). Exemplo:Da-te:
fonte
A melhor maneira de você criar sempre o json no php é primeiro converter valores no array ASSOCIATIVE.
Depois disso, basta codificar usando
json_encode($associativeArray)
. Eu acho que é a melhor maneira de criar json em php, porque sempre que estamos buscando resultado da consulta sql em php na maioria das vezes obtemos valores usando afetch_assoc
função, que também retorna uma matriz associativa.... etc.
Depois disso.
fonte
também para array, você pode usar anotações curtas:
fonte
É assim que posso fazer com a ajuda da solução dada por @tdammers abaixo. A linha a seguir será colocada dentro do loop foreach.
E então codifique a matriz com a função json encode
fonte
Digitar esta única linha forneceria uma matriz json,
echo json_encode($array);
Normalmente você usa
json_encode
para ler dados de um aplicativo iOS ou Android. portanto, certifique-se de não repetir nada além da matriz json precisa.fonte
fonte
fonte
Criei uma classe jsonOBJ crua e simples para usar no meu código. O PHP não inclui funções json como JavaScript / Node. Você precisa iterar de maneira diferente, mas pode ser útil.
Saída:
Para iterar, converta para um objeto normal:
Então:
Saídas:
TestLoc1
TestLoc2
TestLoc3
Acesso direto:
Um exemplo prático:
fonte