我从服务器收到一个巨大的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);
我的主要活动:
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) {
}
});
}
}
现在,我该怎么办?我已经制作了所有必需的POJO
类。
转到此pojo class网站粘贴您的json
响应,删除您不需要的字段。然后创建您的类模型。
现在根据需要修改数据,然后将model
类转换为Json
。就像这样
Gson g = new Gson();
//this will convert your class in json
String str = g.toJson(modelobject);