node.js - 如何在 Node Js JSON 输出中为每个对象设置标题?
问题描述
当我从数据库中获取数据并将结果作为 JSON 发送时,我的 JSON 输出包含没有任何名称的对象。我想为每个对象设置一个名称,以便在 android 中解析 JSON。我怎样才能做到这一点???或者如何在没有对象名称的情况下在 android 中使用 Retrofit 解析这个?
我的 JSON 文件
[
[
{
"Title": "title 1",
"Id": 1,
"RoomsExams": 93
},
{
"Title": "title 2",
"Id": 13,
"RoomsExams": 93
},
{
"Title": ""title 3",
"Id": 14,
"RoomsExams": 93
}
],
[
{
"Ok": false,
"Questions": 1,
"Title": "answer 1",
"RoomsExams": 93
},
{
"Ok": true,
"Questions": 1,
"Title": ""answer 2",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 1,
"Title": ""answer 3",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 1,
"Title": ""answer 4",
"RoomsExams": 93
},
{
"Ok": true,
"Questions": 13,
"Title": ""answer 5",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 13,
"Title": ""answer 6",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 13,
"Title": ""answer 7",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 13,
"Title": ""answer 8",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 14,
"Title": ""answer 9",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 14,
"Title": ""answer 10",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 14,
"Title": ""answer 11",
"RoomsExams": 93
},
{
"Ok": true,
"Questions": 14,
"Title": ""answer 12",
"RoomsExams": 93
}
]
]
这就是我想要的
[
"questions": [
{
"Title": "title 1",
"Id": 1,
"RoomsExams": 93
},
{
"Title": "title 2",
"Id": 13,
"RoomsExams": 93
},
{
"Title": ""title 3",
"Id": 14,
"RoomsExams": 93
}
],
"answers": [
{
"Ok": false,
"Questions": 1,
"Title": "answer 1",
"RoomsExams": 93
},
{
"Ok": true,
"Questions": 1,
"Title": ""answer 2",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 1,
"Title": ""answer 3",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 1,
"Title": ""answer 4",
"RoomsExams": 93
},
{
"Ok": true,
"Questions": 13,
"Title": ""answer 5",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 13,
"Title": ""answer 6",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 13,
"Title": ""answer 7",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 13,
"Title": ""answer 8",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 14,
"Title": ""answer 9",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 14,
"Title": ""answer 10",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 14,
"Title": ""answer 11",
"RoomsExams": 93
},
{
"Ok": true,
"Questions": 14,
"Title": ""answer 12",
"RoomsExams": 93
}
]
]
和我用于获取的节点 js 代码
router.get('/getquestion/:roomid/:subject/:count',async(req,resp,next)=>{
(async function(){
let pool = null;
try{
pool = await connection
let result = await pool.request()
.input('i_roomid',sql.BigInt,req.params.roomid)
.input('i_subject',sql.BigInt,req.params.subject)
.input('i_count',sql.Int,req.params.count)
.query(`exec questproc @i_roomid,@i_subject,@i_count`)
if(result){
resp.status(200).send(result.recordsets).end;
}
}catch(err){
console.log("Failed")
resp.status(500).send(err).end;
}
})()
},closePoolMiddleware)
解决方案
不要将数组存储在 json 文件中,而是存储一个对象。
拥有属性名称,您的 json 文件应如下所示
{
"questions": [
{
"Title": "title 1",
"Id": 1,
"RoomsExams": 93
},
{
"Title": "title 2",
"Id": 13,
"RoomsExams": 93
},
{
"Title": ""title 3",
"Id": 14,
"RoomsExams": 93
}
],
"answers":[
{
"Ok": false,
"Questions": 1,
"Title": "answer 1",
"RoomsExams": 93
},
{
"Ok": true,
"Questions": 1,
"Title": ""answer 2",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 1,
"Title": ""answer 3",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 1,
"Title": ""answer 4",
"RoomsExams": 93
},
{
"Ok": true,
"Questions": 13,
"Title": ""answer 5",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 13,
"Title": ""answer 6",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 13,
"Title": ""answer 7",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 13,
"Title": ""answer 8",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 14,
"Title": ""answer 9",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 14,
"Title": ""answer 10",
"RoomsExams": 93
},
{
"Ok": false,
"Questions": 14,
"Title": ""answer 11",
"RoomsExams": 93
},
{
"Ok": true,
"Questions": 14,
"Title": ""answer 12",
"RoomsExams": 93
}
]
}
推荐阅读
- c++ - 标头的有效性包含在外部块内吗?
- eclipse - 当在孩子的pom中声明时,eclipse不会在module-child项目中导入POI依赖项,但是在paren't pom上是
- python - 如何“清理”给定格式的字符串数据,以便可以从中创建字典?
- javascript - 查找并推送结果,将两个对象推送到数组中
- python - 无法在 Raspberry PI 4 上安装 Pip 包(adafruit_circuitpython_neopixel)
- matlab - 运行代码时数组索引 Syms 错误
- python - 根据另一个熊猫的开始日期和结束日期列的条件创建新的熊猫数据框
- php - 如何使用 Wordpress Rest API 删除 url 中的 index.php
- ubuntu-20.04 - 使用 Python 2.7 在 Ubuntu 20.04 中安装 Mapnik 2.2.0
- reactjs - 输入键不适用于反应应用程序中的选项卡/键盘可访问性