将Json数组从Android设备发送到Mobile Azure服务后端javascript无法正常工作

时间:2014-06-25 15:00:48

标签: c# android azure azure-mobile-services

如何在Android设备的移动天蓝色服务中将Json数组发送到后端javascript。

以下是Windows应用商店正常运行的c#编码。

问题 登录投票 0 登录投票

如何在Android设备的移动天蓝色服务中将Json数组发送到后端javascript。

以下是Windows应用商店正常运行的c#编码。

JArray jsonArray = new JArray();
            jsonArray.Add(JToken.FromObject(new Contact() { Name = "Clarke", ContactNo = "123456" }));
            jsonArray.Add(JToken.FromObject(new Contact() { Name = "Jordan", ContactNo = "4513264" }));

JToken x = await App.MobileService.InvokeApiAsync("userservice/UploadContacts", jsonArray);

当我通过Fiddler进行测试时,它的工作正常。但是,当我从Android设备发送时,我将服务器中的数据作为

{values:[{nameValuePairs:[Object]},{nameValuePairs:[Object]}]}

记录的数量是匹配的,而不是实际数据我收到nameValuePairs:object。

下面是android编码。

    JSONObject job = new JSONObject();

    Contact c1 = new Contact();
    c1.ContactNO = "9067655676";
    c1.Name = "abcd";

    job.add(c1);

    Contact c2 = new Contact();
    c2.ContactNO = "999999999";
    c2.Name = "efgh";

    job.add(c2);

    JSONArray book = new JSONArray(job);

    MobileServiceClient mClient = new MobileServiceClient(
         "https://MyAppService.azure-mobile.net/",
          "myKeyValue", context);

    mClient.invokeApi("userservice/UploadContacts", book, Contact.class , new ApiOperationCallback() 
    {
             //onCompleted callback code..............
    });

联系人类有2个属性ContactNO,名称

有人请帮我解决这个问题........

1 个答案:

答案 0 :(得分:0)

非常确定您的代码无法像这样编译。无论如何,你可能想做这样的事情:

JsonArray jArray = new JsonArray();

Contact c1 = new Contact();
c1.ContactNO = "123455";
c1.Name = "Test";

Gson gson = new Gson();
jArray.add(gson.toJsonTree(c1));
Contact c2 = new Contact();
c2.ContactNO = "23455";
c2.Name = "test2";
jArray.add(gson.toJsonTree(c2));

mClient.invokeApi("uploadContacts", jArray, new ApiJsonOperationCallback() {
        @Override
        public void onCompleted(JsonElement jsonElement, Exception e, ServiceFilterResponse serviceFilterResponse) {

请注意,您要将元素添加到JsonArray而不是JSONObject。您希望确保使用com.google.json库。