我从远程REST服务器读取了一个JSON对象.此JSON对象具有typescript类的所有属性(按设计).如何将收到的JSON对象强制转换为类型var?
我不想填充一个typescript var(即有一个带有这个JSON对象的构造函数).它很大并且通过属性按子对象和属性跨子对象复制所有内容将花费大量时间.
更新:您可以将其转换为打字稿界面!
我想在我的JavaScript代码中包含几个JSON文件,这些文件与我的JavaScript源文件位于同一目录中.
如果我想要包含另一个JavaScript文件,我可以简单地使用require.现在我正在使用readFileSync并__dirname获得JSON,我认为这是一种丑陋的方式.
是否有类似的要求,使我能够加载JSON文件?
这是我的模型与json响应:
exports.getUser = function(req, res, callback) {
User.find(req.body, function (err, data) {
if (err) {
res.json(err.errors);
} else {
res.json(data);
}
});
};
Run Code Online (Sandbox Code Playgroud)
在这里,我通过http.request获得它.为什么我收到(数据)字符串而不是json?
var options = {
hostname: '127.0.0.1'
,port: app.get('port')
,path: '/users'
,method: 'GET'
,headers: { 'Content-Type': 'application/json' }
};
var req = http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (data) {
console.log(data); // I can't parse it because, it's a string. why?
});
});
reqA.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
reqA.end();
Run Code Online (Sandbox Code Playgroud)
我怎么能得到一个json?
我有以下列表示例:
{
"favorites": [
{
"createdAt": 1448998673852,
"entityId": "558da3de395b1aee2d6b7d2b",
"type": "media"
},
{
"createdAt": 1448998789252,
"entityId": "558da3de395b1aee2d6b7d83",
"type": "media"
},
{
"createdAt": 1448998793729,
"entityId": "558da3de395b1aee2d6b7d99",
"type": "media"
},
{
"createdAt": 1448998813023,
"entityId": "558da3de395b1aee2d6b7daf",
"type": "media"
}
],
"userId": "2"
}
Run Code Online (Sandbox Code Playgroud)
我想删除地图:"entityId": "558da3de395b1aee2d6b7d2b".
我正在考虑一个UpdateItem查询,我查看了REMOVE表达文档(http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html),但我似乎无法看到任何示例,除了通过索引值从List中删除项目....
我意识到有大量的Node模块提供了用于解析JSON的异步API,但是它们中的许多似乎都读取整个文件或流到内存中,构造一个巨大的字符串,然后将其传递给JSON.parse().这就是"如何使用NodeJS解析JSON?"的第二个答案.建议,并且正是jsonfile模块所做的.
构建一个巨大的字符串正是我想要避免的.我想要一个像这样的API:
parseJsonFile(pathToJsonFile): Promise
其中,Promise被返回解析为解析的JSON对象.此实现应使用恒定的内存量.我对任何类似SAX的东西都不感兴趣,因为各种各样的部分被解析后广播事件:只是最终的结果.
我认为jsonparse可能会做我想要的(它显然包括解析JSON而不使用的逻辑JSON.parse()),但是没有简单的例子README.md,而examples目录中的一个文件似乎过于复杂.
我有以下JSON:
{
"request" : {
"language" : "en",
"title" : "placeholder",
"year" : "2014"
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用以下代码解析:
var json = require('../filename);
Run Code Online (Sandbox Code Playgroud)
奇怪的是,我收到了SyntaxError
/home/username/code/filename:2
"request" : {
^
SyntaxError: Unexpected token :
(...)
Run Code Online (Sandbox Code Playgroud)
根据JSONLint,JSON完全有效.我错过了很明显的东西吗?
我是一名电气工程师,在RaspberryPi上使用NodeJS为学校开展项目.我对面向对象编程的想法很新,并且无法从JSON对象获取特定值.
我的程序查询wolframalpha,它使用以下代码返回一个对象"result":
var wolfram = require('wolfram').createClient("[CENSORED]")
wolfram.query("integrate 2x", function(err, result) {
if(err) throw err
console.log("Result: %j", result)
})
Run Code Online (Sandbox Code Playgroud)
它返回以下JSON:
[
{
"subpods":
[{
"title":"",
"value":" integral 2 x dx = x^2+constant",
"image":"http://www5a.wolframalpha.com/Calculate/MSP/MSP36002050fgg595dgib5a000031a456025754352g?MSPStoreType=image/gif&s=59"
}],
"primary":true
},
{
"subpods": [{
"title":"",
"value":"",
"image":"http://www5a.wolframalpha.com/Calculate/MSP/MSP36012050fgg595dgib5a000055e24iecig9cc4ga?MSPStoreType=image/gif&s=59"
}],
"primary":false
}
]
Run Code Online (Sandbox Code Playgroud)
我试图从第一个subpod获得"价值".我试过了:
var newResults = result.subpods[0].value;
但这给了我一个错误:
TypeError: Cannot read property '0' of undefined
至少在最后一小时我一直在尝试不同的组合.请帮忙!
感谢您的时间,
Bobbyg
我想从一个巨大的JSON字符串中获取一段特定的数据.如果发布在这里,整个字符串将超过10页,所以我只是包含一个示例代码段:
{ name: '',
keys:
[ 'statType',
'count',
'dataVersion',
'value',
'championId',
'futureData' ],
object:
{ statType: 'TOTAL_SESSIONS_PLAYED',
count: { value: 5 },
dataVersion: 0,
value: { value: 5 },
championId: { value: 31 },
futureData: null },
encoding: 0 }
Run Code Online (Sandbox Code Playgroud)
我如何使用CoffeeScript:
TOTAL_SESSIONS_PLAYED,value字段)中取出数值,然后我几乎是一个超级noob程序员.基本上,在这个例子中,我怎么能从5标记的对象中获取该值TOTAL_SESSIONS_PLAYED,并使用CoffeeScript将其附加到文本文件中?
json ×6
node.js ×6
javascript ×4
api ×1
coffeescript ×1
httprequest ×1
parsing ×1
require ×1
typescript ×1