Tag: json

Elasticsearch匹配给定数组中的所有标签

目前正在使用elasticsearch开发一个标签search应用程序,我已经给索引中的每个文档提供了一个标签数组,下面是一个文档外观的例子: _source: { title: "Keep in touch scheme", intro: "<p>hello this is a test</p> ", full: " <p>again this is a test mate</p>", media: "", link: "/training/keep-in-touch", tags: [ "employee", "training" ] } 我希望能够进行search,并只返回所有指定标签的文档。 使用上面的例子,如果我search了一个标签["employee", "training"]的文档,那么上面的结果将被返回。 相反,如果我用标签["employee", "other"] ,则不会返回任何内容。 search查询中的所有标签都必须匹配。 目前我在做: query: { bool: { must: [ { match: { tags: ["employee","training"] }} ] } […]

javax.json产生难以理解的json

我有一个Java类与两个atrributes,我转换为json使用这种方法。 我跟着这个其他答案: 返回JSONArray而不是JSONObject,Jersey JAX-RS public String toString(){ // takes advantage of toString() implementation to format {"a":"b"} JsonObject json = Json.createObjectBuilder() .add("sentence", sentence) .add( "category", category).build(); return json.toString(); } 我得到的string封装到一个string的ArrayList,并通过HTTP(我使用泽西岛)发送: return Response.status(200).entity(response).build(); 如何,节点客户端正在使用不能正确parsing它:它获取数组部分,完美地访问元素。 但不是JSON键和值; 返回undefined: jsonRespuesta = JSON.parse(body)[0]; console.log(jsonRespuesta); console.log("Frase: " +jsonRespuesta.sentence + " ,Categoria: " + jsonRespuesta.category); 返回: {"sentence":"hola","category":"2"} Frase: undefined ,Categoria: undefined 什么是失败? 如果有帮助,使用wireshark捕获数据包会将数组成员显示为string

在Express中读取嵌套的json主体参数

我想读取express.js嵌套在json主体中的参数,但是我能够读取body中的第一层参数: { "name": "foo", "address": { "zip": "3008" } } 所以如果我这样做: req.param('name') 我得到价值foo; 但我无法获取zip的值。 有人可以帮我吗? 我用过: var bodyParser = require('body-parser'); app.use(bodyParser.json()); // support json encoded bodies app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies

在不改变顺序的情况下浏览已经存在的对象

我知道,对象的属性不保证以任何特定的顺序存储或读取。 我遇到的问题是不能使用对象或数组。 我已经有一个很大的和非常嵌套的JSON文件,像这样: { "occasion": 23, "mayorstips": { "1": 0, "3": 0, "2": 0… 我只需要做一些修改。 这是我开始使用它的方式: var campaign = JSON.parse(fs.readFileSync(theJSONFile)); for(var plot in plots) { if(plots.hasOwnProperty(plot)) { switch(plots[plot].province) { case 'forest': … 当我完成后,我只是把它放回: fs.writeFileSync(theJSONFile, JSON.stringify(campaign)); 现在,我注意到了这个方法的两个问题: 原始间距格式丢失。 原始文件只是一个很长的行 ,需要一个长的行,所以任何JSON库的格式化尝试都没有帮助。 我解决了几个正则expression式replace。 现在“JSON行”文件被sorting 。 所以我从{ "1": 0, "3": 0, "2": 0到{ "1": 0, "2": 0, "3": 0 […]

Fabric.js从JSON加载canvas后,在Node服务器上创build图像

过去几天里,我一直在试图弄清楚这个问题。 在我写的应用程序中,用户可以上传两个图像,一个覆盖另一个。 将一个图像放在另一个图像的顶部之后,他们点击一个button,canvas转换为JSON并发送到节点(快速)服务器。 然后通过将JSON数据加载到canvas重新创buildcanvas,使用乘数2调用toDataURL并将数据写入png文件。 router.post('/', function(req, res) { var canvas = fabric.createCanvasForNode(600, 600); canvas.loadFromJSON(req.body, function() { var dataUrl = canvas.toDataURL({ format: 'png', multiplier: 2 }); imageSrc = dataUrl.replace(/^data:image\/png;base64,/, ""); fs.writeFile('hello.png', imageSrc, 'base64', function(err) { console.log('Error: ' + err); }); }); 如果我不使用乘数(即乘数为1),则会按预期创build600x600像素的图像。 但是,当我将倍数设置为2时,为了获得更高分辨率的图像,只有生成的图像的右上angular包含从canvas创build的图像。 PNG图像是截止的 我发现在线资源说这是以前版本的面料的一个问题,我已经看到别人的解决方法,但似乎没有解决我的问题。 任何帮助,build议或资源将不胜感激! 编辑也许我应该包括一个如何将JSONcanvas传递给服务器的示例: var json = JSON.stringify(canvas); var http = new XMLHttpRequest(); […]

在Node.JS中从服务器端发送GET请求JSON对象到客户端

我是一般的新Node.js和服务器端脚本,现在正在使用这里find的brewerydb-node包装器( https://www.npmjs.com/package/brewerydb-node ) 我目前有以下服务器端代码,将相应的JSON对象logging到命令行 var express = require('express'); var app = express(); var morgan = require('morgan'); var bodyParser = require('body-parser'); var BreweryDb = require('brewerydb-node'); var brewdb = new BreweryDb([api-key here]); var request = require('request'); app.use(bodyParser.json()); brewdb.breweries.getById("g0jHqt", {}, function(err, beer) { if(err) { console.log(res.statusCode()); } else { console.log(beer.name); } }) app.listen(8000, function() { console.log("Listening at http://localhost:8000"); […]

Sails.js + Mongodb使用ORM插入一个嵌套的jsonlogging

我在我的Sails设置中使用MongoDB来存储我的集合。 我通过一个API发出一个POST请求,其请求体看起来像这样: **THE REQUEST BODY** { "name":"Martin", "phone":"5447874787", "comment":"This is a comment", "campaign":{ "campaign_id":123454587, "name":"Digital Marketing", "category":"Marketing", "sub_category":"Digital", "product_name":"no product", "product_id":5417 } } 这个logging将存储在我的名为“leads”的 mongodb集合中。 我的“潜在顾客”模型如下所示: module.exports = { schema: true, attributes:{ name:{ required:true, type:"string", unique: true }, phone:{ type:"string" }, comment:{ type:"string" }, campaign:{ model: 'lead_campaign_detail', // via: "lead_model" } } }; 相关的“Lead_campaign_detail”模型如下 module.exports […]

Mongoose不会从JSON数组创build子文档

我正在尝试编写一个包含一级数据和数组的MongoDB的JSON对象。 会发生什么反而是所有的第一级数据被存储,但是包含在数组中的任何东西都不是。 当logging服务器收到的数据时,我看到整个对象,这导致我相信我的Mongoose代码有问题。 所以例如,如果我发送这样的东西: issueId: "test1", issueTitle: "testtest", rows: [ {order:1,data: [object]}, {order:2,data: [object]}, ] 只有以下内容被存储: issueId: "test1", issueTitle: "testtest", lastUpdated: Date, 我有以下Mongo的模式: //model.js var mongoose = require('mongoose'); var model = mongoose.Schema({ issueId : String, issueTitle : String, lastUpdated : {type: Date, default : Date.now}, rows : [{ order : Number, data : [ { […]

NodeJS:智能JSON转换为Excel文件

我在NodeJS工作,我想导出一个JSON格式的对象到Excel文件。 我清楚地知道,至less有三个npm的软件包,但是到目前为止,这些都没有给我输出我梦寐以求的东西。 这里是我有的JavaScript对象: var myObject = { hashkey1 : { keyA : dataA1, keyB : dataB2 } hashkey2 : { keyA : dataA2, keyB : dataB2 } }; 我的梦想的.xls(或.xlsx)(或任何电子表格格式)对于每个hashkey都有一行。 在每一行上:第一列将是hashkeyX,第二列将是dataAX,第三列将是dataBX。 有没有可能使用可用的工具来实现这样的结果,还是我必须从头开始编写代码? 任何build议,以获得接近这个结果?

数组长度小于 – json中的空开销

我正在写一个简单的游戏。 它基于一个32×32的方块。 每个方块都可以包含一个游戏元素。 当一个元素出现/移动/变化时,服务器通过websockets向所有客户端发送一个json对象,该json对象包含一个类似于整个游戏场的二维数组。 发送到多个客户端时,这是相当多的数据,每秒多次。 所以我想知道如何减less这个。 我认为这将有助于从客户端已经收到的大arrays中删除一切。 但是,如果你有这样的事情: var gameField = []; gameField[6][10] = "player1"; console.log(JSON.stringify(gameField)); 它转换为: [null,null,null,null,null,null,[null,null,null,null,null,null,null,null,null,null,"player1"]] 这真的是不必要的开销。 难道不能生成这样的东西吗? {"6": {"10":"player1"}} 我正在使用node.js游戏服务器btw。 那么如何减less数据呢? 有没有特殊的JSON.stringify方法?