选择后的JSON字符串

时间:2012-06-23 11:16:23

标签: php jquery json .post

如何在mysql选择后在JSON中创建一个字符串:

$ritorno = '{"Prodotto":'.$riga['Prodotto'].',"Prezzo":'.$riga['Prezzo'].'}'

并返回:

{"Prezzo":24.00,"Prodotto":Chiavetta Usb Moskeyto 8 gb}

但我无法在输入字段中插入

Jquery的

function chiama(elemento){
      var $code_bar = $("#code_bar").val();

      $.post("return.php", 
            { code_bar: $code_bar },
      function(data) {
            $("#Prodotto").val(data.Prodotto);
            $("#Prezzo").val(data.Prezzo);
    }

      , "json");
}

2 个答案:

答案 0 :(得分:3)

您可以使用json_encode将php数组转换为json格式的字符串。

手册示例:

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
// prints {"a":1,"b":2,"c":3,"d":4,"e":5}
?>

答案 1 :(得分:1)

如果你在$riga数组上没有任何其他元素,那么你可以做

echo json_encode($riga)

如果你在该数组上有其他元素并且只想让这两个元素进行json编码,那么你可以使用

echo json_encode(array(
    "Prodotto" => $riga['Prodotto'],
    "Prezzo" => $riga['Prezzo']

   ));

你的工作不起作用的原因是你string value中没有quotes 有效JSON

需要哪个

你必须这样做

$ritorno = '{"Prodotto":"'.$riga['Prodotto'].'","Prezzo":'.$riga['Prezzo'].'}';

如果你坚持要阻挡你。

但使用json_encode会更好。

示例代码: http://codepad.org/r6D7z9TF