作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我遇到了这个问题,我正在尝试转换诸如
[0]['question']: "what is 2+2",
[0]['answers'][0]: "21",
[0]['answers'][1]: "312",
[0]['answers'][2]: "4"
像这样的实际格式化的json对象
[
{
'question': 'what is 2+2',
'answers': ["21", "312", "4"]
}
]
但我不太确定该采取什么方法来完成这项工作。
我计划通过 javascript 解析第一个片段中的键值,并将其解码为 json 对象,就像通过 python 的第二个片段中一样。
您知道如何执行此操作吗?我会接受几乎任何语言的示例,因为阅读它们背后的概念应该不用太担心。
最佳答案
类似这样的事情。您需要处理输入错误。
一个函数,用于获取数据结构并根据输入向其中添加内容
function add(old, input) {
var index = input[0];
var section = input[1];
if (old[index] == undefined) {
old[index] = {}
};
if (section == "question") {
old[index]['question'] = input[2];
}
if (section == "answers") {
var answerIndex = input[2];
var answerValue = input[3];
if (old[index]["answers"] == undefined) {
old[index]["answers"] = []
};
old[index]["answers"][answerIndex] = answerValue
}
return old;
}
一些输入:
var inputs = [[0, "question", "what"],
[0, "answers", 0, "21"],
[0, "answers", 1, "22"]];
var result = {};
inputs.forEach(function(input) { add(result, input) })
JSON.stringify(result)
"{"0":{"question":"what","answers":["21","22"]}}"
关于javascript - 如何将 json 键解析为 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29124435/
我是一名优秀的程序员,十分优秀!