这是我的JSON示例
{"tasks" : [
{
"id" : "27604_11",
"quality" : "A4",
"position" : "183567",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8764_2.jpg",
"type" : "image",
"valid" : "24 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "4minutes",
"listeners" : {
"count" : 0 },
"message" : "stay prepared",
"level" : "High"
},
{
"id" : "27604_12",
"quality" : "B3",
"position" : "183569",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8232_1.jpg",
"type" : "image",
"valid" : "11 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "7minutes",
"listeners" : {
"count" : 2 },
"message" : "ready",
"level" : "High"
},
{
"id" : "73754_35",
"quality" : "A3",
"position" : "13542",
"profile" : "https:\/\/example.com\/gallery\/profiles\/1235_5.jpg",
"type" : "image",
"valid" : "5 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "22minutes",
"listeners" : {
"count" : 0 },
"message" : "Good",
"level" : "Normale" }
],
"start_poz" : "36774263743"
}
{"tasks" : [
{
"id" : "27604_11",
"quality" : "A4",
"position" : "183567",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8764_2.jpg",
"type" : "image",
"valid" : "24 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "4minutes",
"listeners" : {
"count" : 0 },
"message" : "stay prepared",
"level" : "High"
},
{
"id" : "27604_12",
"quality" : "B3",
"position" : "183569",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8232_1.jpg",
"type" : "image",
"valid" : "11 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "7minutes",
"listeners" : {
"count" : 2 },
"message" : "ready",
"level" : "High"
},
{
"id" : "73754_35",
"quality" : "A3",
"position" : "13542",
"profile" : "https:\/\/example.com\/gallery\/profiles\/1235_5.jpg",
"type" : "image",
"valid" : "5 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "22minutes",
"listeners" : {
"count" : 0 },
"message" : "Good",
"level" : "Normale" }
],
"start_poz" : "36774263743"
}
{"tasks" : [
{
"id" : "27604_11",
"quality" : "A4",
"position" : "183567",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8764_2.jpg",
"type" : "image",
"valid" : "24 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "4minutes",
"listeners" : {
"count" : 0 },
"message" : "stay prepared",
"level" : "High"
},
{
"id" : "27604_12",
"quality" : "B3",
"position" : "183569",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8232_1.jpg",
"type" : "image",
"valid" : "11 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "7minutes",
"listeners" : {
"count" : 2 },
"message" : "ready",
"level" : "High"
},
{
"id" : "73754_35",
"quality" : "A3",
"position" : "13542",
"profile" : "https:\/\/example.com\/gallery\/profiles\/1235_5.jpg",
"type" : "image",
"valid" : "5 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "22minutes",
"listeners" : {
"count" : 0 },
"message" : "Good",
"level" : "Normale" }
],
"start_poz" : "36774263743"
}
这是 php:
<?php
$file = file_get_contents("in.txt");
$json = json_decode($file, true);
/** 跳过 json_last_error() 代码.. 错误是这样的:JSON_ERROR_SYNTAX **/
$tasks = $json["tasks"];
foreach ($tasks as $key => $value)
{
echo "<ul>";
echo "<li>".$value['id']."</li>";
echo "<li>".$value['quality']."</li>";
echo "<li>".$value['position']."</li>";
echo "<li>".$value['profile']."</li>";
echo "<li>".$value['type']."</li>";
echo "<li>".$value['valid']."</li>";
echo "<li>".$value['member']['carrier']."</li>";
echo "<li>".$value['member']['zone']."</li>";
echo "<li>".$value['member']['offd']."</li>";
echo "<li>".$value['taketime']."</li>";
echo "<li>".$value['listeners']['count']."</li>";
echo "<li>".$value['taketime']."</li>";
echo "<li>".$value['message']."</li>";
echo "<li>".$value['level']."</li>";
echo "</ul>";
}
?>
实际上,错误不允许使用 JSON 执行代码。 但是如果你只使用 JSON 的一部分,像这样:
{"tasks" : [
{
"id" : "27604_11",
"quality" : "A4",
"position" : "183567",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8764_2.jpg",
"type" : "image",
"valid" : "24 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "4minutes",
"listeners" : {
"count" : 0 },
"message" : "stay prepared",
"level" : "High"
},
{
"id" : "27604_12",
"quality" : "B3",
"position" : "183569",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8232_1.jpg",
"type" : "image",
"valid" : "11 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "7minutes",
"listeners" : {
"count" : 2 },
"message" : "ready",
"level" : "High"
},
{
"id" : "73754_35",
"quality" : "A3",
"position" : "13542",
"profile" : "https:\/\/example.com\/gallery\/profiles\/1235_5.jpg",
"type" : "image",
"valid" : "5 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "22minutes",
"listeners" : {
"count" : 0 },
"message" : "Good",
"level" : "Normale" }
],
"start_poz" : "36774263743"
}
然后就可以了!
你能不能指导我我的语法错误在哪里......也许你也可以帮助我理解如何在从 获取值的每个循环中获取 start_poz 值任务数组?
非常感谢,新年快乐! ;)
最佳答案
您在顶层的输入文件中有三个独立的 JSON 对象。您需要将整个输入包装为数组 [ ... ]
或单独解析每个输入。
关于javascript - JSON解码: Mixed types - not valid syntax error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34552918/