我需要以这种格式通过帖子将json发送到api:
const XLSX = require('xlsx');
const fs = require('fs')
fs.readFile("./sample.xls", (err, data) => {
if (err) {
console.log(err)
return;
}
const workbook = XLSX.read(data, {type:'buffer'})
console.log("Done file read ...");
})
console.log("end script")
我从输入中获取“answers_questions_attributes”数据,值为true或false,输入的名称是问题ID,例如:
"answer" => {
"name"=>"Test",
"email"=>"test@test.com",
"hospital"=>"Hospital Name",
"answered_questions_attributes"=>{
"0"=>{
"value"=>"1",
"question_id"=>"1"
},
"1"=>{
"value"=>"0",
"question_id"=>"2"
},
"2"=>{
"value"=>"1",
"question_id"=>"3"
}
}
}
我尝试了下面的代码,但这只返回了一个不正确的json:
<div class="resp_val_div">
<input type="hidden" name="1" value="1" />
<input type="hidden" name="2" value="0" />
<input type="hidden" name="3" value="1" />
</div>
在这种情况下如何创建第一个json?
答案 0 :(得分:3)
如果您想要一个对象,请不要使用数组和.push()
。如果您希望parseInt()
属性为字符串而不是数字,请不要使用value
。
var dados = {
"name": jQuery("#name").val(),
"email": jQuery("#email").val(),
"hospital": jQuery(".answer_hospital").val(),
'answered_questions_attributes':{}
};
resp_val.each(function(index, el) {
d = {"value":el.value, "question_id":el.name};
dados.answered_questions_attributes[index] = d;
});