gpt4 book ai didi

javascript - 从 Java 添加数据到 Meteor

转载 作者:行者123 更新时间:2023-11-30 07:42:29 24 4
gpt4 key购买 nike

我正在使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com