gpt4 book ai didi

php - 如何使用正确的 "headers"回显 JSON 双重嵌套对象文字

转载 作者:行者123 更新时间:2023-11-29 08:34:16 24 4
gpt4 key购买 nike

我试图简单地回显 JSON 对象文字,其中包括数据库表中的每一行。

作为我查看的许多其他类似问题中发现的方法的标准,我正在获取每一行并对其进行编码,如下所示:

$con=mysqli_connect("localhost","username","pass","markers");//markers is db table name
$result = mysqli_query($con,"SELECT * FROM markers");

$rows = array();

while($r = mysqli_fetch_array($result))
{
$rows[] = $r
//or: $rows[] = array('data' => $r);
}

echo json_encode($rows);

类似于问题PHP: can't encode json with multiple rowsmysql table to json ,

我想回显一个 JSON 对象,如下所示:

    {
"data1": // how do I get "data1"?
{
name: John Smith,
title: Mr,
description: a man
}
}

{
"data2":{ // how do I get "data2"?
name:Bob Smith,
title: Mr,
description: another guy
}

}

除了我不知道如何实现“标题”,即第一级对象字符串的标题,例如“data1”或“data2”。事实上,我的数据库表甚至不一定有这些值/那一栏。

这就是现在的样子: database table

如何获得简单的数字“标题”,如“1”、“2”或“data1”、“data2”,而不必将“名称”列指定为“标题”? (或者我必须有一个专栏吗?)

我的目标是处理返回的 JSON 中每个“行”中的值。

我计划使用 jQ $.each 函数 $.each(data, function(dataNum, dataInfo) - 例如,data1 将传递给 dataNum,值将传递给 dataInfo - - 并能够通过 dataInfo.name 访问特定的表值,但目前无法正常工作。

感谢提前提供的任何帮助!

最佳答案

我认为使用mysqli_fetch_object()将每一行作为它自己的对象会更好。然后,当您对 $rows 进行 json_encode 时,您将拥有一个对象数组。

这是代码:

$con=mysqli_connect("localhost","username","pass","markers");//markers is db table name
$result = mysqli_query($con,"SELECT * FROM markers");

$rows = array();

while($r = mysqli_fetch_object($result))
{
$rows[] = $r;
}

echo json_encode($rows);

你的 JSON 看起来像这样:

[
{
"name":"Some Name",
"title":"Some Title",
"description":"Some description"
},
{
"name":"Some Other Name",
"title":"Some Other Title",
"description":"Some other description"
},
...
]

在 JavaScript 中,这为您提供了一个整数索引的对象数组。所以你的 JavaScript 可能看起来像这样:

var array = JSON.parse(jsonString);
$.each(array, function(key, value) {
alert(key); // numerical index
alert(value.name); // name
alert(value.title); // title
alert(value.description); // description
});

关于php - 如何使用正确的 "headers"回显 JSON 双重嵌套对象文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15627055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com