我之前从未使用过JSON,而且我正在尝试使用以下javascript:http: //jqueryselectcombo.googlecode.com/files/jquery.selectCombo1.2.6.js
它需要以下格式的JSON输出:
[{oV: 'myfirstvalue', oT: 'myfirsttext'},
{oV: 'mysecondvalue', oT: 'mysecondtext'}]
Run Code Online (Sandbox Code Playgroud)
你能否引导我一个关于如何使用PHP生成JSON输出的例子?
Pas*_*TIN 64
获得PHP数据后,即可使用该json_encode功能; 它从PHP 5.2开始与PHP捆绑在一起
在您的情况下,您的JSON字符串表示:
在PHP中,这将创建您所代表的结构:
$data = array(
(object)array(
'oV' => 'myfirstvalue',
'oT' => 'myfirsttext',
),
(object)array(
'oV' => 'mysecondvalue',
'oT' => 'mysecondtext',
),
);
var_dump($data);
Run Code Online (Sandbox Code Playgroud)
将var_dump让你:
array
0 =>
object(stdClass)[1]
public 'oV' => string 'myfirstvalue' (length=12)
public 'oT' => string 'myfirsttext' (length=11)
1 =>
object(stdClass)[2]
public 'oV' => string 'mysecondvalue' (length=13)
public 'oT' => string 'mysecondtext' (length=12)
Run Code Online (Sandbox Code Playgroud)
并将其编码为JSON:
$json = json_encode($data);
echo $json;
Run Code Online (Sandbox Code Playgroud)
你得到 :
[{"oV":"myfirstvalue","oT":"myfirsttext"},{"oV":"mysecondvalue","oT":"mysecondtext"}]
Run Code Online (Sandbox Code Playgroud)
顺便说一句:Frolm我记得的,我说你的JSON字符串是无效的-JSON数据:字符串周围应该有双引号,包括对象属性的名称
有关语法,请参见http://www.json.org/.
希望这可以帮助 :-)
Amb*_*ber 17
最简单的方法可能是从你想要的对的关联数组开始:
$data = array("myfirstvalue" => "myfirsttext", "mysecondvalue" => "mysecondtext");
Run Code Online (Sandbox Code Playgroud)
然后使用foreach和一些字符串连接:
$jsontext = "[";
foreach($data as $key => $value) {
$jsontext .= "{oV: '".addslashes($key)."', oT: '".addslashes($value)."'},";
}
$jsontext = substr_replace($jsontext, '', -1); // to get rid of extra comma
$jsontext .= "]";
Run Code Online (Sandbox Code Playgroud)
或者,如果您有最新版本的PHP,则可以使用内置的json编码函数 - 只需要注意传递它们的数据,使其与预期的格式匹配.
| 归档时间: |
|
| 查看次数: |
83193 次 |
| 最近记录: |