javascript - 从 Java 添加数据到 Meteor

标签 javascript java mongodb meteor

我正在使用 Java DDPClient ( https://github.com/kutrumbo/java-ddp-client ),并且正在尝试将数据插入到 Meteor 应用程序中。

我是用java来做这个的:

    DdpClient client;
    try {
        client = new DdpClient("localhost", 3000);
        client.addObserver(this);
        client.connect();
        Object[] objArray = new Object[1];
        objArray[0] = new String("{name:'peter andersson', phone:'12345678'}");
        client.call("createNewCustomer", objArray);
    } catch (URISyntaxException e) {
        e.printStackTrace();
    } catch (Exception ex) {
        System.out.println("Exception:" + ex.getLocalizedMessage());
    }

这在 Meteor 中(集合客户)

Meteor.methods({
    "createNewCustomer" : function(options) {
      var ret = {};
      options.replace(/(\b[^:]+):'([^']+)'/g, function ($0, param, value)      {
      ret[param] = value;
    });
    Customers.insert(ret);
  }
});

它可以工作,但是将其编码为字符串然后将其解码为 JavaScript HashMap 似乎是不必要的工作。

我尝试创建一个对象(字符串)数组,但无论我如何执行它都无法按预期工作。

“正确”的做法是什么?

编辑:

我的愿望是 Meteor 代码如下所示:

Meteor.methods({
    "createNewCustomer" : function(options) {
      Customers.insert(options);
    }
});

我想我想知道的是如何从Java(使用Java DDP Client)发送,以便在Meteor中不需要解码。

最佳答案

正确的方法是使用 JSON.parse() 解码字符串。 只需确保该字符串是有效的 JSON 文档即可。

在你的java代码中将其更改为:

objArray[0] = new String("{\"name\":\"peter andersson\", \"phone\":\"12345678\"}");

您的 javascript 代码现在应如下所示:

Meteor.methods({
  "createNewCustomer" : function(options) {
    var ret = JSON.parse(options);             
    Customers.insert(ret);
  }
});

附:另外,在 java 代码中,如果您想动态地执行此操作,您可能会考虑使用某些 JSON 库构造 JSON 字符串的可能性。

关于javascript - 从 Java 添加数据到 Meteor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34462723/

相关文章:

javascript - 如何打破 event.stopImmediatePropagation

java - Richfaces日历 "ü"(&#252)字符问题

无法编译 mongo-c-driver 示例

java - MongoDB Morphia 表示已弃用

javascript - html表格列调整大小

javascript - Cordova 与 Angular,如何获取 deviceready 事件

java - 如何使用 Curator for Zookeeper 有效地使用 LeaderElection 配方?

java - 如何在背景渲染时让 AlertDialog 工作,而不会使应用程序崩溃?

node.js - 使用路由、 Controller 和模型重构 NodeJS 项目的中间件代码

javascript - 如何在 Node js 中发送文件以作为响应下载