php 从字符串和数组递归地提取JSON数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 从字符串和数组递归地提取JSON数据相关的知识,希望对你有一定的参考价值。
<?php
function extractData($source, &$output) {
$sourceType = gettype($source);
echo "Trying to determine source type..$sourceType\n";
echo "Extract data:\n";
switch($sourceType){
case "array":
echo "Goin' to iterate an array..\n";
foreach($source as $key => $value)
{
extractData($value, $output[$key]);
}
break;
case "string":
echo "Goin' to decode JSON from string..\n";
$decoded = extractJson($source);
if($decoded) {
echo "Decoded!\n";
extractData($decoded, $output);
}
else {
echo "Failed to decode JSON, output string.\n";
$output = $source;
}
break;
case "integer":
echo "Skip extraction, output value\n";
$output = $source;
break;
default:
echo "Failed to extract any data, undetermined type..$sourceType\n";
}
return;
}
function extractJson($string) {
$decoded = json_decode($string, true);
if (json_last_error() == JSON_ERROR_NONE) return $decoded;
else return null;
}
echo "Start:\n";
$output=[];
$source = file_get_contents(__DIR__."/DataRaw/json.json");
$extracted=extractData($source, $output);
print_r($output);
以上是关于php 从字符串和数组递归地提取JSON数据的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 从 JSON 嵌套列表和字符串数组中提取值
Google BigQuery SQL:从 JSON(列表和数组)中提取数据到列中
从 JSON 数组中的字符串中提取字段
递归解析 JSON
PHP:从 XML 字符串中提取数据并添加到数组
PHP从mysql中取出多组数据 如何加入数组中并转成JSON数组