Articles of json

JSON序列化使用networking

我有问题的方式,我收到服务器的JSON。 有学生数组(字典)包装在字典中: var students:[[String: String]] = [] students.append(["id":"2", "name":"joe"]); students.append(["id":"3", "name":"jake"]); students.append(["id":"4", "name":"may"]); students.append(["id":"1", "name":"donna"]); let json:[String:[[String:String]]] = ["students" : students] 当使用NSJSONSerialization打印JSON var data = NSJSONSerialization.dataWithJSONObject(json, options: NSJSONWritingOptions.PrettyPrinted, error: &error) println(NSString(data: data!, encoding: NSUTF8StringEncoding)) { "students" : [ { "id" : "2", "name" : "joe" }, { "id" : "3", "name" : "jake" }, { […]

在Android中通过node.js将图像从一个设备发送到另一个设备

我想从一个设备发送图像到另一个,所以我通过node.js创build了这个东西。 我已经将图像转换为base64,然后转换为string,然后将其发送到node.js服务器,并将该string解码到另一个设备,everythig完美。 我用过socket.io。 现在问题出现了,因为我收到了来自node.js的json响应的string,完整的响应没有得到响应的一半被修剪的地方。 所以基本上我没有得到完整的JSONRESPONSE。 这是我的node.js代码。 onLine[data.to].emit('newPrivateMessage1',{from:name, img:data.img.toString('base64'), type:'Private Msg1'}) 这是我发送图像的第一个设备。 JSONObject json1 = new JSONObject(); String filepath = Environment.getExternalStorageDirectory().toString()+"/1.png"; File file = new File(filepath); String itemname = getIntent().getStringExtra("itemname"); try { @SuppressWarnings("resource") FileInputStream imageInFile = new FileInputStream(file); byte imageData[] = new byte[(int) file.length()]; Log.e("TAG", "IMAGEFATABYTE:::" + imageData); imageInFile.read(imageData); String imageDataString = android.util.Base64.encodeToString(imageData, 0); json1.put("img", imageDataString); […]

如何使用i18n-2模块更改语言,具体取决于url params

我要疯了! 由于昨天我试图设置i18n-2模块,但不能改变语言,任何人都可以帮助我吗? 这个node.js模块有一个很差的文档,希望没有关于如何使用/:params来改变语言的例子 所以我想这样: //configuration: I18n.expressBind(app, { locales: ['en', 'pt'], cookieName: 'locale' }); 这就是我想要根据/:语言环境更改语言 app.use(function (req, res, next) { req.i18n.setLocale(req.params.locale); next(); }); app.get('/:locale', function(req, res) { console.log(req.i18n.__("My Site Title")); }); 而且我在locale文件夹中有两个文件,'pt.json' – 葡萄牙语和'en.json' – 英文。 PT: { "My Site Title": "Titulo", } EN: { "My Site Title": "My Title", } 但是不工作在所有…即使我尝试访问site.com/pt,en json将被加载。 我在这里做错了什么?

从JSON模式自动生成JavaScript

经过一小时的search,我发现没有解决我的问题,现在我希望有人能够帮助我在这里。 所以基本上我正在寻找的是一种从JSON(Schema)文件自动使用NodeJS生成JavaScript文件(* .js)的方法。 我知道有一些像fs.write这样的东西,但是我认为这对于我的问题肯定是不合适的。 到目前为止,我没有find其他的方式来创build我的JavaScript文件以外的。 基本上我想翻译: { "type":"object", "properties": { "name": { "type": "string" }, "age": { "type": "integer", "default":12 }, "favorite_color": { "type": "string" }, "gender": { "type": "string", "enum": [ "male", "female" ] } } } 进入JavaScript代码如: var data = function() { data.baseConstructor.call(this); this.name = ko.observable(""); this.age = ko.obseravble(12); this.favorite_color = ko.observable(); this.gender […]

使用express在节点js中输出JSON对象

这是我第一次使用Node,我正在使用express框架。 我试图在“日历”页面上输出json对象(见main.js)。 当我运行路由器(main.js),我得到这个错误:错误:ENOENT,没有这样的文件或目录'/Users/Macbook/Desktop/node/views/('calendar.ejs')' 基本上我想输出我的JSON对象在main.js中定义到我的HTML文件。 有人可以向我解释为什么服务器无法find日历文件。 它可以findindex.ejs而不是日历。 这是我想要达到的目标吗? 以下是我设置的目录结构: ——-node_modules ——-routes ————-main.js ——-views ————calendar.ejs ————index.ejs ——-package.json ——-server.js 这是我的server.js代码: var express=require('express'); var app=express(); require('./routes/main')(app); app.set('views',__dirname + '/views'); app.set('view engine', 'ejs'); app.engine('html', require('ejs').renderFile); var server=app.listen(3000,function(){ console.log("We have started our server on port 3000"); }); 这是我的main.js代码: module.exports=function(app){ app.get('/', function(req,res){ res.render('index',{title:"Home page"}); }); app.get('/calendar',function(req,res){ res.json({"foo": "bar"}); }); }

XHR请求与JSON与urlencoded:性能和安全性

我有xhr请求与数据像名字=约翰用户名= JohnTheGreat。 在这种情况下,我可以通过content-type发送一个xhr:application / x-www-form-urlencoded: 'name=John&username=JohnTheGreat' 或者我可以使用content-type:application / json: '{"name"="John","username"="JohnTheGreat"}' 在服务器端(我用express来使用nodejs服务器),对于这两种情况,我都使用body-parser来parsing数据。 1)哪两个parsing速度更快? 我想这将是JSON,因为它显然只涉及string连接和eval,而urlencodedstring似乎意味着大量的string操作。 2)这两种情况哪一种更安全? 一般来说,现代浏览器中的安全性问题是什么? (例如,用户可以写一些脚本,当被分析的脚本将会被执行吗?)

插入包含大型数组的密钥时,Firebase推送非常缓慢

Heyhou 我试图从JSON文件中读取数据的Node.js服务器以JSON格式添加一些3D模型(build筑物)到Firebase。 我正在使用push()在buildings下添加一个键。 var buildingsRef = new Firebase('https://test.firebaseIO-demo.com/buildings'); buildingsRef.push({ … }); 不幸的是,推动是非常缓慢的,大约需要。 30秒将JSON插入Firebase。 JSON对象如下所示: { geometries: { vertices: […], faces: […], normals: [….] }, materials: { }, object: { }, metadata: { } } 几何对象包含用于顶点,面,法线,UV等的数组。根据3D模型的复杂性,这些数组可能具有多达10'000个条目或更多。 我不确定是否大的JSON本身(磁盘上的文件大约是2Mb),或者数组表示是缓慢插入Firebase的原因。 我怀疑这与Firebase内部代表数组的方式有关。 有没有什么办法来优化这个? 我喜欢将整个build筑物存放在一个密钥下,所以如果build筑物被更换(通常由服务器端),我可以检查应用程序的末端。 我不需要修改单个数组,我只是希望能够用另一个replace一个build筑物,并让我的前端进行相应的更新。 谢谢你的帮助!

Node-Webkit将不会打开文件

首先,我要感谢您花时间阅读本文。 我正在尝试打开以下目录结构中的JSON文件: #–> Root Folder –> App.exe #–> Configuration —> JSON File 所以我使用了Code: var ConfigFile = "./Configuration/JSON.json"; 其次是: var fs = require('fs'); var file_content = fs.readFileSync(ConfigFile); var content = JSON.parse(file_content); // Manipulate the Data 出于某种奇怪的原因,Node-Webkit似乎正在寻找Temp目录中的文件夹: C:\用户\用户\应用程序数据\本地的\ Temp \ nw9740_14956 \configuration 该文件不存在,因此在控制台中,我得到以下错误: 未被捕获的错误:ENOENT:没有这样的文件或目录,打开'C:\ Users \ User \ AppData \ Local \ Temp \ nw9740_14956 \ Configuration […]

JSON嵌套对象与node.js中的BodyParserparsing

我有一个node.js服务器接收这个JSON对象作为put: { stats = { abdominal=0, bicep=0, deltoids=0, erector_spinae=0, gastro_soleus=0, gluteus=0, hamstrings=0, lat_dor_rhom=0, obliques=0, pectoralis=0, quadriceps=0, trapezius=0, triceps=0 }, name=Name, _id=userid, level=1, experience=200 } 我使用这段代码尝试访问数据: user.name = req.body.name; user.level = req.body.level; user.experience = req.body.experience; user.stats = { abdominal: req.body.stats["abdominal"], bicep: req.body.stats["bicep"], deltoids: req.body.stats["deltoids"], erector_spinae: req.body.stats["erector_spinae"], gastro_soleus: req.body.stats["gastro_soleus"], gluteus: req.body.stats["gluteus"], hamstrings: req.body.stats["hamstrings"], lat_dor_rhom: req.body.stats["lat_dor_rhom"], obliques: req.body.stats["obliques"], […]

JSON.stringifystring防止(我的)SQL注入?

我已经运行了一些获取用户提供的string的node.js代码,调用JSON.stringify(str)并直接将值注入到SQL语句中。 例如 var x = JSON.stringify(UNSAFE_USER_STRING); mysql_execute('UPDATE foo SET v = ' + x + ' WHERE id = 1'); 显然这是对JSON.stringify的滥用,但是这不是我的代码,作者希望在修补它之前看到攻击向量。 因为UNSAFE_USER_STRING是一个string,而不是一个对象,并逃避了显而易见的"和\如果有一个严重的问题并不明显 这个代码安全吗? 如果不是,有人可以certificate什么是不安全的input? 谢谢!