如何将已转换为JSON对象的结果(xml)发送回客户端? 我想在第168行发回结果。
153 var str= '';
154
155 callback = function(response) {
156 // var str = '';
157
158 //another chunk of data has been recieved, so append it to `str`
159 response.on('data', function (chunk) {
160 str += chunk;
161 } );
162
163 //the whole response has been recieved, so we just print it out here
164 response.on('end', function () {
165 console.log("******************"+str+"*********************");
166 var parseString = require('xml2js').parseString;
167 //var xml = "<root>Hello xml2js!</root>"
168 parseString(str, function (err, result) {
169 console.dir(result);
170 });
171
172 // res.writeHead(200, {'Content-Type': 'text/plain'});
173 // res.write(str);
174 });
175 }
176
177
178
179 http.request(url, callback).end();
180
181
182 // console.log("---------------------"+str+"-----------------------------");
183
184
185
186 // console.log(js2xmlparser("address",location));
187
188 // res.write(str);
189 res.end();
190
191
192 }
答案 0 :(得分:1)
有点精确:没有JSON对象,它是一个Object文字(一个JS对象),或者是一个JSON字符串。所以你的result
是一个对象。您需要将其转换为JSON字符串,发送它,并让您的客户端将其转换回Object。写在第169行:
res.write(JSON.stringify(result));
然后在您的客户端:JSON.parse(<responseString>)
将成为您的回复对象文字。
有关详细信息,请参阅https://www.npmjs.org/package/xml2js。