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解析。無論如何,如果我的答案足夠好,不要猶豫,接受它。 –