【发布时间】:2021-09-30 06:26:51
【问题描述】:
我有复杂的 json 数据。它可以是以下任何一种格式:
1. {"Physics":{"5b87ceb691":"Motion","5b87ce3e":"Mass"}} //where value itself is a json
2. {"a60a8001805":"Finish chapter 1","a60a8002ab0":"Finish assignments"} //simple key value pair
我想为所有值创建复选框(Motion、Mass、Finish chapter 1、Finish assignments 用于上述示例)并且键应该像这些复选框之间的文本(Physics 用于上述示例)(只有当它的值是 json 对象时,键才应该像文本一样,因为 Physics 的值是 json,Physics 应该像文本一样显示,并且在示例 2 中,因为没有值是 json 对象的这样的键, 没有键会像文本一样显示)。
我已经通过以下方式在 javascript 中实现了这一点:
var str = "";
if(Object.keys(data).length !== 0) {
var i = 1;
for (var key in data) {
if (data.hasOwnProperty(key)) {
var val = data[key];
if(typeof val == 'object') {
str += '<div class = "data_text hidden">' + key + '</div>';
for (var subKey in val) {
if (val.hasOwnProperty(subKey)) {
var subValue = val[subKey];
str += '<div class="db-checkbox data_options hidden"><input type="checkbox" name="abc" id="' + i + '"><label for="' + i + '">' + subValue + '</label></div>'
i += 1;
}
}
} else {
str += '<div class="db-checkbox data_options hidden"><input type="checkbox" name="abc" id="' + i + '"><label for="' + i + '">' + val + '</label></div>'
i += 1;
}
}
}
现在,我想在 php.ini 中做同样的事情。我搜索以找出在 php 中访问 json 数据的方法,但所有这些仅在知道密钥时才有效。 (例如,data->a60a8002ab0)但我想一般地这样做。不想硬编码任何东西。我怎样才能做到这一点?谢谢。
【问题讨论】:
-
从json_decode 开始并从那里编写代码
-
这能回答你的问题吗? How do I extract data from JSON with PHP?
标签: javascript php html json