Mam metodę PostServer(string path, params object[] objects)
, która umieszcza json na moim serwerze. Ale zanim wyślę moją tablicę obiektów, na jej początku ustawiam token sesji.
string access_token = "<access_token>";
string url = "http://example.com";
void PostJson(string path, params object[] objects) {
SendHttp(url + path, HttpMethod.POST, JSON.Stringify(objects));
}
void PostServer(string path, params object[] objects) {
object[] moreObjects = new object[objects.Length + 1];
object[0] = access_token;
objects.CopyTo(moreObjects, 1);
PostJson(path, moreObjects); // moreObjects will be expanded into PostJson objects
}
Potem ... PostServer("/greet", "Hello World!", true, 3.1415);
wyśle json ["<access token>","Hello World!",true,3.1415]
na moim serwerze.
Właściwie w praktyce umieszczam moreObjects
w prawo w JSON.Stringify
, ale masz rację.
Możesz więc rozbudowywać tablice, ale przekazałeś tablicę jako jedyny parametr params. W coffeescript można zrobić PostJson(path, access_token, objects...)
, ponieważ ma operatora splat ...
.
Jeśli próbowałeś PostJson(path, access_token, objects)
wC# skończy się wysyłanie JSON ["<access_token>",["Hello World!",true,3.1415]]
mógłbym skończyć za pomocą odbitego rzeczą, aby to działało tak, jak chcesz, ale to jest ciekawe. Dzięki! –