1
我正在使用Java DDPClient(https://github.com/kutrumbo/java-ddp-client),我试图将数据插入流星应用程序。将数据添加到Java流星
我这样做从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.methods({
"createNewCustomer" : function(options) {
var ret = {};
options.replace(/(\b[^:]+):'([^']+)'/g, function ($0, param, value) {
ret[param] = value;
});
Customers.insert(ret);
}
});
它的工作原理,但它似乎是不必要的工作,将其代码转换为字符串,然后解码它的JavaScript哈希映射。
我试图创建一个对象(字符串)的数组,但无论我如何做它不按预期工作。
什么是“正确”的做法?
编辑:
我的愿望是,流星代码是这样的:
Meteor.methods({
"createNewCustomer" : function(options) {
Customers.insert(options);
}
});
我猜我想知道的是如何从Java(使用Java DDP客户端)发送,这样Meteor不需要解码。
好的,谢谢!然而,我想知道是否有可能在client.call()(从java-ddp-client项目)中发送对象数组。我没有得到作者的回答,也找不到比此更好的Java DDP客户端。我想我可以继续将其编码为一个对象,并按照您的建议进行解码。我只是希望有一种发送方式,以便不需要手动JSON编码。我希望它尽可能地为JS本机。 –
我认为你可能希望使用流星代码,如果你在Java端正确编码它。你可以尝试像这样http://www.tutorialspoint.com/json/json_java_example.htm,然后看看它如何在流星端(取决于ddp客户端如何编码它),也许不需要JSON解析。无论如何,如果我的答案足够好,不要犹豫,接受它。 –