Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用POST方法在android中通过改型发送原始复杂的大JSON和幻灯片更改?_Android_Retrofit_Android Json - Fatal编程技术网

如何使用POST方法在android中通过改型发送原始复杂的大JSON和幻灯片更改?

如何使用POST方法在android中通过改型发送原始复杂的大JSON和幻灯片更改?,android,retrofit,android-json,Android,Retrofit,Android Json,我从服务器得到了一个巨大的JSON响应,我必须修改一些两三个字段,然后用原始JSON将相同的JSON文件再次发布到服务器 我怎么做?请帮忙, 提前谢谢 这是我从服务器得到的JSON响应,我必须将状态代码101更改为110,并将其作为原始JSON发送到服务器: { "PatientID": 61270, "ItemId": 113769, "InvoiceID": 210600, "ReceiptId": null,

我从服务器得到了一个巨大的
JSON
响应,我必须修改一些两三个字段,然后用原始
JSON
将相同的
JSON
文件再次发布到服务器

我怎么做?请帮忙, 提前谢谢

这是我从服务器得到的
JSON
响应,我必须将状态代码101更改为110,并将其作为原始
JSON
发送到服务器:

{
        "PatientID": 61270,
        "ItemId": 113769,
        "InvoiceID": 210600,
        "ReceiptId": null,
        "PatientAdmissionId": null,
        "NurseStationId": null,
        "ServiceListPrice": 500.00,
        "ServiceActualPrice": 500.00,
        "ServiceQuantity": 1,
        "ServiceDate": "/Date(1577951487000)/",
        "ReferralPaidDate": null,
        "ModifiedDate": null,
        "CheckoutTime": null,
        "ServiceProviderId": 30465,
        "DoctorId": 30465,
        "DoctorName": "Md. Mahbubur Rahman",
        "ReturnQantity": null,
        "ReturnPrice": null,
        "ReturnPaid": 0.00,
        "ReferrerPaidUserId": null,
        "ReferrerPaidUser": null,
        "Discount": 0.00,
        "DiscountAfterInvoice": false,
        "IsBothSideDiscount": true,
        "DiscountPercentage": 0,
        "Refund": false,
        "RefundApprovedBy": null,
        "RefundStatus": 101,
        "RefundApproval": false,
        "IsReturn": false,
        "RefundNote": "Test",
        "Billed": true,
        "ReferralFee": 200.00,
        "ReferralFeePaid": false,
        "ReferralFeeActual": 200.00,
        "DeliveryDate": "/Date(1577988000000)/",
        "DeliveryTime": "7:00 pm",
        "ReportFormatName": null,
        "LabStatusId": 1,
        "InventoryId": null,
        "ModifiedBy": 30253,
        "PrescriptionItemId": null,
        "Item": {
            "Name": "CBC",
            "GenericName": null,
            "Code": "0110",
            "CompanyName": null,
            "ItemTypeId": 32,
            "MedicalTypeId": 62,
            "ItemSpecimentId": 15,
            "ItemCategoryId": 50406,
            "ItemSubCategoryId": null,
            "ItemGroupCategoryId": null,
            "ItemSubGroupCategoryId": null,
            "SupplierOrVendorId": null,
            "Strength": null,
            "Formulation": null,
            "IsAntibiotic": false,
            "MedicineTypeId": null,
            "IsSurgeryItem": false,
            "MeasurementUnitId": null,
            "SalePrice": 500.00,
            "BuyPrice": 0,
            "ServiceProviderId": null,
            "ReferralAllowed": true,
            "Description": null,
            "DefaultReferrarFee": 200.00,
            "LabReportGroupId": null,
            "NurseStationId": null,
            "NurseStation": null,
            "TaskTypeId": 101,
            "TaskType": null,
            "LabCountDay": 1,
            "IsLabReportItem": false,
            "CreatedDate": null,
            "BedOccupancies": [],
            "Inventories": [],
            "Item_ItemGroup": [],
            "ItemDefaults": [],
            "ItemReorders": [],
            "InitialSetupItems": [],
            "ServiceProviderSurgeryPrices": [],
            "ItemType": null,
            "ItemSpeciment": {
                "Name": "Blood",
                "MedicalTypeId": 62,
                "Items": [],
                "MedicalType": null,
                "TenantId": 16,
                "Tenant": null,
                "Id": 15,
                "Active": true,
                "UserId": 30254,
                "HasErrors": false,
                "ErrorCount": 0,
                "NoErrors": true
            },
            "ItemCategory": {
                "Name": "Haematology",
                "MedicalTypeId": 62,
                "ReferralCommission": 50,
                "Items": [],
                "ItemSubCategories": [],
                "MedicalType": null,
                "TenantId": 16,
                "Tenant": null,
                "Id": 50406,
                "Active": true,
                "UserId": 30254,
                "HasErrors": false,
                "ErrorCount": 0,
                "NoErrors": true
            },
            "ItemSubCategory": null,
            "ItemGroupCategory": null,
            "ItemSubGroupCategory": null,
            "MedicineType": null,
            "MeasurementUnit": null,
            "MedicalType": null,
            "ServiceProvider": null,
            "LabReportGroup": null,
            "SupplierOrVendor": null,
            "PatientServices": [],
            "ReceiptPayments": [],
            "InventoryItem": [],
            "ItemRequisition": [],
            "ExpiryDate": "N/A",
            "Inventory": null,
            "Quantity": 0,
            "PrescriptionItemId": null,
            "BranchId": 0,
            "Branch": null,
            "TenantId": 16,
            "Tenant": null,
            "Id": 113769,
            "Active": true,
            "UserId": 30254,
            "HasErrors": false,
            "ErrorCount": 0,
            "NoErrors": true
        },
        "Inventory": null,
        "User": null,
        "Patient": {
            "OldId": null,
            "FirstName": "MD",
            "LastName": "Pannu",
            "PhoneNumber": "01728621378",
            "GenderId": 1,
            "BloodGroup": null,
            "BloodGroupId": null,
            "FatherName": null,
            "DOB": "/Date(221335200000)/",
            "NationalId": "",
            "Occupation": null,
            "Street": "Elephentroad",
            "City": "Dhaka",
            "Zip": "",
            "Country": "BD",
            "Email": "",
            "Photo": "bfa0f55f-f016-490c-9191-cdc7568392a0.jpg",
            "EmergencyNumber": "",
            "EmergencyContactName": "",
            "EmergencyContactRelation": "",
            "CreatedDate": "/Date(1546768262430)/",
            "Gender": {
                "Name": "Male",
                "Code": 101,
                "TypeName": "Male",
                "User": null,
                "BloodDonors": [],
                "Id": 1,
                "Active": true,
                "UserId": 2,
                "HasErrors": false,
                "ErrorCount": 0,
                "NoErrors": true
            },
            "Memberships": [],
            "PatientInvoices": [],
            "PatientServices": [],
            "Payments": [],
            "DoctorAppointments": [],
            "TenantId": 16,
            "Tenant": null,
            "Id": 61270,
            "Active": true,
            "UserId": null,
            "HasErrors": false,
            "ErrorCount": 0,
            "NoErrors": true
        },
        "PatientInvoice": null,
        "ServiceProvider": {
            "ContactId": 60938,
            "Title": "Dr",
            "ServiceProviderTypeId": 56,
            "NurseStationId": null,
            "DepartmentId": 425,
            "Degree": "MBBS, MPS",
            "Speciality": "Medicine & Child",
            "Description": "null",
            "Code": "",
            "AssignedToAllUsers": true,
            "IsInHouse": true,
            "IsReferer": true,
            "Designation": "Asst. Professor",
            "HasSigningPermission": false,
            "IsSurgeon": false,
            "JoiningDate": null,
            "CreatedDate": null,
            "Contact": {
                "FirstName": "Md. Mahbubur",
                "LastName": "Rahman",
                "PhoneNumber": "01719844843",
                "GenderId": 1,
                "Street": "",
                "City": "",
                "Zip": "",
                "Country": "BD",
                "Email": "",
                "Fax": "",
                "WebSite": "null",
                "Photo": "null",
                "IsCompany": null,
                "ServiceProviders": [],
                "ServiceProviderType": 56,
                "Gender": {
                    "Name": "Male",
                    "Code": 101,
                    "TypeName": "Male",
                    "User": null,
                    "BloodDonors": [],
                    "Id": 1,
                    "Active": true,
                    "UserId": 2,
                    "HasErrors": false,
                    "ErrorCount": 0,
                    "NoErrors": true
                },
                "TenantId": 16,
                "Tenant": null,
                "Id": 60938,
                "Active": true,
                "UserId": 30253,
                "HasErrors": false,
                "ErrorCount": 0,
                "NoErrors": true
            },
            "Department": {
                "Name": "Medicine",
                "ServiceProviders": [],
                "TenantId": 16,
                "Tenant": null,
                "Id": 425,
                "Active": true,
                "UserId": 30253,
                "HasErrors": false,
                "ErrorCount": 0,
                "NoErrors": true
            },
            "Items": [],
            "PatientAdmissions": [],
            "NurseStationInchargeList": [],
            "ServiceProviderType": {
                "Name": "Doctor",
                "ServiceProviders": [],
                "LanguageCode": null,
                "Id": 56,
                "Active": true,
                "UserId": null,
                "HasErrors": false,
                "ErrorCount": 0,
                "NoErrors": true
            },
            "DepartmentName": null,
            "ReferralFee": 0,
            "BranchId": 25,
            "Branch": {
                "Name": "Main",
                "IsMainBranch": false,
                "TenantId": 16,
                "Tenant": {
                    "Name": "mobileapp",
                    "Url": "mobileapp",
                    "Id": 16,
                    "Active": true,
                    "UserId": 2,
                    "HasErrors": false,
                    "ErrorCount": 0,
                    "NoErrors": true
                },
                "Id": 25,
                "Active": true,
                "UserId": 2,
                "HasErrors": false,
                "ErrorCount": 0,
                "NoErrors": true
            },
            "TenantId": 16,
            "Tenant": null,
            "Id": 30465,
            "Active": true,
            "UserId": null,
            "HasErrors": false,
            "ErrorCount": 0,
            "NoErrors": true
        },
        "PrescriptionItem": null,
        "Doctor": {
            "ContactId": 60938,
            "Title": "Dr",
            "ServiceProviderTypeId": 56,
            "NurseStationId": null,
            "DepartmentId": 425,
            "Degree": "MBBS, MPS",
            "Speciality": "Medicine & Child",
            "Description": "null",
            "Code": "",
            "AssignedToAllUsers": true,
            "IsInHouse": true,
            "IsReferer": true,
            "Designation": "Asst. Professor",
            "HasSigningPermission": false,
            "IsSurgeon": false,
            "JoiningDate": null,
            "CreatedDate": null,
            "Contact": {
                "FirstName": "Md. Mahbubur",
                "LastName": "Rahman",
                "PhoneNumber": "01719844843",
                "GenderId": 1,
                "Street": "",
                "City": "",
                "Zip": "",
                "Country": "BD",
                "Email": "",
                "Fax": "",
                "WebSite": "null",
                "Photo": "null",
                "IsCompany": null,
                "ServiceProviders": [],
                "ServiceProviderType": 56,
                "Gender": {
                    "Name": "Male",
                    "Code": 101,
                    "TypeName": "Male",
                    "User": null,
                    "BloodDonors": [],
                    "Id": 1,
                    "Active": true,
                    "UserId": 2,
                    "HasErrors": false,
                    "ErrorCount": 0,
                    "NoErrors": true
                },
                "TenantId": 16,
                "Tenant": null,
                "Id": 60938,
                "Active": true,
                "UserId": 30253,
                "HasErrors": false,
                "ErrorCount": 0,
                "NoErrors": true
            },
            "Department": {
                "Name": "Medicine",
                "ServiceProviders": [],
                "TenantId": 16,
                "Tenant": null,
                "Id": 425,
                "Active": true,
                "UserId": 30253,
                "HasErrors": false,
                "ErrorCount": 0,
                "NoErrors": true
            },
            "Items": [],
            "PatientAdmissions": [],
            "NurseStationInchargeList": [],
            "ServiceProviderType": {
                "Name": "Doctor",
                "ServiceProviders": [],
                "LanguageCode": null,
                "Id": 56,
                "Active": true,
                "UserId": null,
                "HasErrors": false,
                "ErrorCount": 0,
                "NoErrors": true
            },
            "DepartmentName": null,
            "ReferralFee": 0,
            "BranchId": 25,
            "Branch": {
                "Name": "Main",
                "IsMainBranch": false,
                "TenantId": 16,
                "Tenant": {
                    "Name": "mobileapp",
                    "Url": "mobileapp",
                    "Id": 16,
                    "Active": true,
                    "UserId": 2,
                    "HasErrors": false,
                    "ErrorCount": 0,
                    "NoErrors": true
                },
                "Id": 25,
                "Active": true,
                "UserId": 2,
                "HasErrors": false,
                "ErrorCount": 0,
                "NoErrors": true
            },
            "TenantId": 16,
            "Tenant": null,
            "Id": 30465,
            "Active": true,
            "UserId": null,
            "HasErrors": false,
            "ErrorCount": 0,
            "NoErrors": true
        },
        "NurseStation": null,
        "ReceiptPayment": null,
        "PatientAdmission": null,
        "Isgroup": false,
        "PatientServiceIds": null,
        "GroupItemIds": null,
        "MedicalTypeId": 0,
        "BeforeReturnPrice": 0,
        "ReturnBackupPrice": 0,
        "FullReturnServiceListPrice": 0,
        "Amount": 0,
        "MedicalTypeName": null,
        "BranchId": 25,
        "Branch": null,
        "TenantId": 16,
        "Tenant": null,
        "Id": 261932,
        "Active": true,
        "UserId": 30253,
        "HasErrors": false,
        "ErrorCount": 0,
        "NoErrors": true
    }
Api类别:

@POST("/Item/approveRefund")
Call<ViewRefundRequestModel> acceptRefundRequest(@Body ViewRefundRequestModel body);
@POST(“/Item/approveRefund”)
调用AcceptReturnRequest(@Body ViewReturnRequestModel Body);
我的主要活动:

public class ViewRefundRequest extends AppCompatActivity{

    private RecyclerView viewRefundRequestRecylcerView;
    private RecyclerView.LayoutManager layoutManager;
    private AdminViewRefundRequestAdapter adapter;
    List<ViewRefundRequestModel> vrrList;
    RelativeLayout vrrMainLayout;
    AdminViewRefundRequestAdapter.RecyclerViewClickListener listener;
    ProgressBar progressBarVRR;

    ApiService serviceVRR;
    TokenManager tokenManagerVrr;

    Call<List<ViewRefundRequestModel>> callViewRefundRequestData;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view_refund_request);

        tokenManagerVrr = TokenManager.getInstance(getSharedPreferences("prefs", MODE_PRIVATE));
        serviceVRR = RetrofitBuilder.createServiceWithAuth(ApiService.class, tokenManagerVrr);

        progressBarVRR = (ProgressBar) findViewById(R.id.viewRefundRequestProgressBar);
        viewRefundRequestRecylcerView = (RecyclerView) findViewById(R.id.viewRefundRequestRecylcerView);

        layoutManager = new LinearLayoutManager(this);
        viewRefundRequestRecylcerView.setLayoutManager(layoutManager);

        listener = new AdminViewRefundRequestAdapter.RecyclerViewClickListener() {
            @Override
            public void onRowClick(View view, int position) {

            }

            @Override
            public void onButtonYesClick(View view, int position) {
                int acceptStatusCode = 110;
                final int id = vrrList.get(position).getId();                  
                acceptRequest(id, acceptStatusCode);
                adapter.notifyDataSetChanged();

            }

            @Override
            public void onButtonNoClick(View view, int position) {

            }
        };

        //Rest Api call
        allViewRefundRequestData();
    }


    private void allViewRefundRequestData() {
        progressBarVRR.setVisibility(View.VISIBLE);
        callViewRefundRequestData = serviceVRR.getAllViewRefundRequest();
        callViewRefundRequestData.enqueue(new Callback<List<ViewRefundRequestModel>>() {
            @Override
            public void onResponse(@NotNull Call<List<ViewRefundRequestModel>> call, @NotNull Response<List<ViewRefundRequestModel>> response) {
                progressBarVRR.setVisibility(View.GONE);

                if (response.isSuccessful() && response.body() != null){

                    vrrList = response.body();
                    adapter = new AdminViewRefundRequestAdapter(vrrList, ViewRefundRequest.this, listener);
                    viewRefundRequestRecylcerView.setAdapter(adapter);
                    adapter.notifyDataSetChanged();

                }else {

                    if (response.code() == 401) {
                        startActivity(new Intent(ViewRefundRequest.this, LoginActivity.class));
                        finish();
                        tokenManagerVrr.deleteToken();
                        Toast.makeText(ViewRefundRequest.this, "User session expired, Login again", Toast.LENGTH_LONG).show();
                    }
                }
            }

            @Override
            public void onFailure(@NotNull Call<List<ViewRefundRequestModel>> call, @NotNull Throwable t) {
                progressBarVRR.setVisibility(View.GONE);

                Snackbar snackbar = Snackbar.make(findViewById(android.R.id.content), "Network Status: " + t.getMessage(), Snackbar.LENGTH_LONG);
                View snackbarView = snackbar.getView();
                snackbarView.setBackgroundColor(Color.parseColor("#f5003d"));
                TextView tv = (TextView) snackbarView.findViewById(R.id.snackbar_text);
                tv.setTextColor(Color.WHITE);
                snackbar.show();
            }
        });
    }

    public void acceptRequest(final int id, final int statusCode){

    ViewRefundRequestModel viewRefundRequestModel = new ViewRefundRequestModel(patientID, refundStatus);
        Call<ViewRefundRequestModel> callAccepted = serviceVRR.acceptRefundRequest(viewRefundRequestModel);

        callAccepted.enqueue(new Callback<ViewRefundRequestModel>() {
            @Override
            public void onResponse(Call<ViewRefundRequestModel> call, Response<ViewRefundRequestModel> response) {

                Snackbar snackbar = Snackbar.make(vrrMainLayout, "Accepted", Snackbar.LENGTH_SHORT);
                View snackbarView = snackbar.getView();
                snackbarView.setBackgroundColor(Color.parseColor("#5ec639"));
                TextView tv = (TextView) snackbarView.findViewById(R.id.snackbar_text);
                tv.setTextSize(16);
                tv.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
                tv.setTypeface(tv.getTypeface(), Typeface.BOLD);
                tv.setTextColor(Color.WHITE);
                snackbar.show();
            }

            @Override
            public void onFailure(Call<ViewRefundRequestModel> call, Throwable t) {

            }
        });
    }


}
public class viewReturnRequest扩展了AppCompative活动{
private RecyclerView视图ReturnRequestRecylCerView;
private RecyclerView.LayoutManager LayoutManager;
专用AdminViewRequestAdapter适配器;
列出vrrList;
相对论;
AdminViewReturnRequestAdapter.RecycleServiceClickListener侦听器;
ProgressBar progressBarVRR;
APIServiceVRR;
TokenManager tokenmanagervr;
调用CallViewRequestData;
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u view\u Return\u request);
tokenManagerVrr=TokenManager.getInstance(getSharedReferences(“prefs”,MODE_PRIVATE));
serviceVRR=RefundationBuilder.createServiceWithAuth(ApiService.class,tokenManagerVrr);
progressBarVRR=(ProgressBar)findViewById(R.id.ViewRequestProgressBar);
ViewReturnRequestRecylCerView=(RecyclerView)findViewById(R.id.ViewReturnRequestRecylCerView);
layoutManager=新的LinearLayoutManager(此);
ViewRequestRecylCerView.setLayoutManager(layoutManager);
listener=新的AdminViewReturnRequestAdapter.RecycleServiceClickListener(){
@凌驾
行上的公共void单击(视图,int位置){
}
@凌驾
public void onButtonyClick(视图,内部位置){
int acceptStatusCode=110;
final int id=vrrList.get(position.getId();
acceptRequest(id、acceptStatusCode);
adapter.notifyDataSetChanged();
}
@凌驾
public void onButtonNoClick(视图,int位置){
}
};
//RESTAPI调用
AllViewReturnRequestData();
}
私有void allviewReturnRequestData(){
progressBarVRR.setVisibility(视图可见);
CallViewReturnRequestData=serviceVRR.GetAllViewReturnRequest();
CallViewReturnRequestData.enqueue(新回调(){
@凌驾
公共void onResponse(@NotNull调用,@NotNull响应){
progressBarVRR.setVisibility(视图已消失);
if(response.issusccessful()&&response.body()!=null){
vrrList=response.body();
adapter=新的AdminViewReturnRequestAdapter(vrlist,viewReturnRequest.this,listener);
ViewRequestRecylCerView.setAdapter(适配器);
adapter.notifyDataSetChanged();
}否则{
if(response.code()==401){
startActivity(新意图(viewRequest.this、LoginActivity.class));
完成();
tokenManagerVrr.deleteToken();
Toast.makeText(viewRegureRequest.this,“用户会话已过期,再次登录”,Toast.LENGTH_LONG.show();
}
}
}
@凌驾
public void onFailure(@NotNull Call Call,@NotNull Throwable t){
progressBarVRR.setVisibility(视图已消失);
Snackbar Snackbar=Snackbar.make(findviewbyd(android.R.id.content),“网络状态:”+t.getMessage(),Snackbar.LENGTH\u LONG);
视图snackbar视图=snackbar.getView();
snackbarView.setBackgroundColor(Color.parseColor(“#f5003d”);
TextView tv=(TextView)snackbar view.findviewbyd(R.id.snackbar\u text);
电视.彩色(彩色.白色);
snackbar.show();
}
});
}
公共无效接受请求(最终整数id、最终整数状态代码){
ViewReturnRequestModel ViewReturnRequestModel=新的ViewReturnRequestModel(patientID,ReturnStatus);
Call callAccepted=serviceVRR.AcceptReturnRequest(ViewReturnRequestModel);
callAccepted.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
Snackbar Snackbar=Snackbar.make(VRMAINLAOUT,“接受”,Snackbar.LENGTH\u SHORT);
视图snackbar视图=snackbar.getView();
snackbarView.setBackgroundColor(Color.parseColor(“#5ec639”);
TextView tv=(TextView)snackbar view.findviewbyd(R.id.snackbar\u text);
电视节目(16),;
tv.setTextAlignment(View.TEXT\u ALIGNMENT\u CENTER);
tv.setTypeface(tv.getTypeface(),Typeface.BOLD);
电视.彩色(彩色.白色);
snackbar.show();
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
}
});
}
}
现在,我该怎么做呢?我已经制作了所有必要的
POJO
类。

转到这个网站粘贴你的
json
响应删除你不需要的字段。 然后创建类模型

现在根据需要修改数据,然后将
模型
类转换为
Json

  Gson g = new Gson();
  //this will convert your class in json
  String str = g.toJson(modelobject); 

使用POJO类,您应该已经为单个类创建了getter setter方法。将所需的值设置为该字段,然后在API中再次发送该对象。我在这个链接中的更多代码,请看一看并给出精确的解决方案