我试图使用PHP解析JSON文件.但我现在被困住了.
这是我的JSON文件的内容:
{
"John": {
"status":"Wait"
},
"Jennifer": {
"status":"Active"
},
"James": {
"status":"Active",
"age":56,
"count":10,
"progress":0.0029857,
"bad":0
}
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所尝试的:
<?php
$string = file_get_contents("/home/michael/test.json");
$json_a = json_decode($string, true);
echo $json_a['John'][status];
echo $json_a['Jennifer'][status];
Run Code Online (Sandbox Code Playgroud)
但是,因为我不知道的名字(例如'John','Jennifer')和所有可用键和值(如'age','count')事前,我想我需要创建一些foreach循环.
我会很感激这样的例子.
我正在尝试在支付界面网站上收到JSON POST,但我无法对其进行解码.
当我打印:
echo $_POST;
Run Code Online (Sandbox Code Playgroud)
我明白了:
Array
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,我什么也得不到:
if ( $_POST ) {
foreach ( $_POST as $key => $value ) {
echo "llave: ".$key."- Valor:".$value."<br />";
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,我什么也得不到:
$string = $_POST['operation'];
$var = json_decode($string);
echo $var;
Run Code Online (Sandbox Code Playgroud)
我尝试这个时得到NULL:
$data = json_decode( file_get_contents('php://input') );
var_dump( $data->operation );
Run Code Online (Sandbox Code Playgroud)
当我做:
$data = json_decode(file_get_contents('php://input'), true);
var_dump($data);
Run Code Online (Sandbox Code Playgroud)
我明白了:
NULL
Run Code Online (Sandbox Code Playgroud)
JSON格式是(根据支付站点文档):
{
"operacion": {
"tok": "[generated token]",
"shop_id": "12313",
"respuesta": "S",
"respuesta_details": "respuesta S",
"extended_respuesta_description": "respuesta extendida",
"moneda": "PYG",
"monto": "10100.00",
"authorization_number": "123456",
"ticket_number": "123456789123456", …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个允许我验证json的正则表达式.
我是Regex的新手,我知道用Regex解析很糟糕,但可以用来验证吗?
有谁知道PHP的强大(和防弹)is_JSON函数片段?我(显然)有一种情况,我需要知道字符串是否是JSON.
嗯,也许通过JSONLint请求/响应运行它,但这似乎有点矫枉过正.
今天热议:
文本流是否null有效JSON?
根据http://www.ietf.org/rfc/rfc4627.txt?number=4627:
......
2. JSON语法JSON文本是一系列标记.标记集包括六个结构字符,字符串,数字和三个文字名称.
JSON文本是序列化对象或数组.
这是否应解释为两个语句必须为true才能使文本有效JSON?
但是,许多其他库似乎允许它,事实上,似乎单个有效令牌可能是合法的结果.
有明确的答案吗?
有没有办法在不使用PHP的情况下检查变量是否是有效的JSON字符串json_last_error()?我没有PHP 5.3.3.
如果url包含xml的json文件,我如何检查php.所以在$ url中保存url而不是它应该检查它是一个xml文件还是一个json文件.
$url = 'http://hello.asdasd/asdasd/asdasd';
if (($url == JSON) = TRUE){ // how to check it is a json file, do the follwing action
$xml = file_get_contents($url);
$json = json_decode($xml, true);
}
else if ($url == XML) = TRUE){ // how to check it is a XML file, do the follwing action
$xml = simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA);
}
Run Code Online (Sandbox Code Playgroud)
任何建议都会非常明显.