我希望将数据以图片中的给定格式保存到mongodb中。 我在txt文件中有xml数据,我已使用xml2json包将其转换为json。但是,当我尝试将其保存到数据库时,它像字符串一样保存。 但我希望将其另存为json。
下面是我的代码
var mongoose = require("mongoose");
mongoose.connect("mongodb://localhost:27017/files");
var db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error"));
db.once("open", function(callback) {
console.log("Connection succeeded.");
});
var convert = require('xml-js');
var xml = require('fs').readFileSync('./abc.txt', 'utf8');
var result = convert.xml2json(xml,{compact: true, spaces: 4});
db.collection('files').insert({result}, function(error, record){
if (error) throw error;
console.log("data saved");
});
答案 0 :(得分:0)
也许您拥有的是JSON字符串,因此它将存储为字符串。
尝试使用-keep class com.google.gson.** { *; }
并保存Javascript对象。
只是一个想法...
HTH
答案 1 :(得分:0)
https://www.npmjs.com/package/xml-js上的文档说:
要将XML文本转换为JavaScript对象,请使用
xml2js()
。要将XML文本转换为JSON文本,请使用xml2json()
。
因此,看来silverfighter是正确的:您可以使用JSON.parse
对其进行修复。或者,您可以只使用convert.xml2js
。 (无论哪种方式,spaces: 4
均无效。)
我想您需要做更多的处理才能获得猫鼬接受的javascript对象。但是您还没有告诉我们xml文件的格式,无论如何我都不知道猫鼬,所以在这一部分我无能为力。