okHTTP POST请求主体有很多孩子

时间:2019-09-30 12:40:44

标签: java json okhttp

我正在使用运营商提供的收费API,并且必须在API调用中传递以下JSON格式。我正在使用okHTTP库。

<input
              className="form__field"
              id={name}
              name={name}
              type={inputType}
              value={value}
              onChange={handleChange}
              placeholder={placeholder}
              {...props}
/>

以下是如何格式化JSON。

String telNum = "+941234567";

String pbody = "{\"amountTransaction\": {\"clientCorrelator\": \"7659\",\"endUserId\": \"tel:"+telNum+"\",\"paymentAmount\": {\"chargingInformation\": {\"amount\": 1,\"currency\": \"LKR\",\"description\": \"Test Charge\"},\"chargingMetaData\": {\"onBehalfOf\": \"IdeaBiz Test\",\"purchaseCategoryCode\": \"Service\",\"channel\": \"WAP\",\"taxAmount\": \"0\",\"serviceID\": \"theserviceid\"}},\"referenceCode\": \"REF-12345\",\"transactionOperationStatus\": \"Charged\"}}";```

我收到错误400错误的请求

2 个答案:

答案 0 :(得分:0)

尝试此操作将根据您的需要调整身体

 try {
        JSONObject jsonObject = new JSONObject(pbody);
        pbody=jsonObject.toString();
    } catch (JSONException e) {
        e.printStackTrace();
    }

答案 1 :(得分:0)

OkHTTP需要RequestBody的{​​{1}}对象,因此请尝试以下操作:

POST