如何将这个json进行解析?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将这个json进行解析?相关的知识,希望对你有一定的参考价值。

"userinfos":["name":"张三","age":16,"name":"李四","age":15]

如何将这个json进行解析?

参考技术A 看你说的解析是在后端程序中还是web页面中,如果在后端程序中,你可以找相关的json库解析(如果是php有一个json_decode()就行);如果是C# ,找一个Newtonsoft.JSON.dll,或者用.NET3.5自带的方式。Newtonsoft好像有其他语言的版本!也可以通过正则表达式提取你需要的内容。总之方式比较多,按照你的业务来! 参考技术B Newtonsoft.JSON.dll
引入项目中,导入命名空间

JObject json=JObject.Parse(jsonstring);

取值=json[“name”].Value<string>();//多个的话请用循环取值
参考技术C 找一个.NET JSON parser Library 读取

如何使用 php 将这个 JSON url 解析为 HTML 表/列表的授权

【中文标题】如何使用 php 将这个 JSON url 解析为 HTML 表/列表的授权【英文标题】:How to parse this JSON url with Authorization to HTML table/ list with php 【发布时间】:2021-11-07 13:09:47 【问题描述】:

我正在尝试从这里获取此 JSON 数据:https://gw.bilinfo.net/listingapi/api/export

他们在这里有一个“如何工作表”:https://developer.bilinfo.net/content/Bilinfo_XML_API.pdf

我可以通过 Authorization 连接并获取原始 JSON,但我无法使用数据制作表格。

这是我目前的代码:

    <?php
$url = 'https://gw.bilinfo.net/listingapi/api/export';

// provide your username and password here
$auth = base64_encode("demo:ocfB6XzF73");

// create HTTP context with basic auth
$context = stream_context_create([
    'http' => ['header' => "Authorization: Basic $auth"]
]);

// query for data
$data = file_get_contents($url, false, $context);
$escaped = json_encode($data);

/*Initializing temp variable to design table dynamically*/
$temp = "<table>";

/*Defining table Column headers depending upon JSON records*/
$temp .= "<tr><th>Bilmodel</th>";
$temp .= "<th>Motor</th>";
$temp .= "<th>Drivmiddel</th></tr>";

/*Dynamically generating rows & columns*/
for ($i = 0; $i < sizeof($escaped["Vehicles"]); $i++) 
    $temp .= "<tr>";
    $temp .= "<td>" . $escaped["Vehicles"][$i]["Model"] . "</td>";
    $temp .= "<td>" . $escaped["Vehicles"][$i]["Motor"] . "</td>";
    $temp .= "<td>" . $escaped["Vehicles"][$i]["Propellant"] . "</td>";
    $temp .= "</tr>";


/*End tag of table*/
$temp .= "</table>";

/*Printing temp variable which holds table*/
echo $temp;
?>

【问题讨论】:

如何访问带有图片的底层数组等等。如何联系他们? 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。 【参考方案1】:

解决方案 1。 JSON_FORCE_OBJECT 对 PHP 数组值进行编码,那么即使输入数组没有任何索引,每个数组元素也会被添加到索引中。

所以你可以使用

$escaped = json_encode($data, JSON_FORCE_OBJECT);

您的代码将打印表格。

解决方案 2。 目前json_encode 将数据转换为 StdObject,您可以在其中使用箭头符号读取数据。因此,在表格中打印数据只需使用 foreach 函数读取带箭头符号的 Vehicles 对象。

 /*Dynamically generating rows & columns*/
    foreach ($escaped->Vehicles as $vehicle)
        $temp .= "<tr>";
        $temp .= "<td>" . $vehicle->Model . "</td>";
        $temp .= "<td>" . $vehicle->Motor . "</td>";
        $temp .= "<td>" . $vehicle->Propellant . "</td>";
        $temp .= "</tr>";
    

【讨论】:

哇,这太疯狂了 - 它就像一个魅力 c,) - 非常感谢! @MartinWichmand 你只需要删除 for 循环然后添加上面的 foreach。另外,请确保像以前一样在没有 JSON_FORCE_OBJECT 的情况下执行 json_encode。像这样 json_encode(data);然后foreach 感谢它的正常工作......非常感谢!

以上是关于如何将这个json进行解析?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter -- JSON解析

如何使用 SwiftyJSON 在 Swift 中解析这个 JSON 对象?

快速解析 JSON 数组,对其进行排序并找到重叠的日期

如何快速解析这个 JSON 数据

如何将带单引号的字符串转换为双引号以进行 json 解析

如何使用 php 将这个 JSON url 解析为 HTML 表/列表的授权