OkHttp Android发布原因错误JSON格式错误
我只是试图在nodeJS中的API的请求正文中创build一个JSON对象。 我不断收到我的服务器端的这个错误:
SyntaxError: Unexpected token p in JSON at position 1
这里是我如何使用OkHttpClient制作我的请求:
String patientAddress = "0x83d0aa553df8bbf2c70c8250a1edbdef5be2ccbe"; MediaType JSON = MediaType.parse("application/json; charset=utf-8"); RequestBody body = RequestBody.create(JSON, "{patientAddress:" + patientAddress + "}"); Request request = new Request.Builder() .url(getString(R.string.main_url) + "/api/getPatientDetails") .headers(buildStandardHeaders(Stormpath.accessToken())) .post(body) .build();
编辑
问题是,我没有创build我的JSON的权利,这里是工作代码:
String patientAddress = "0x83d0aa553df8bbf2c70c8250a1edbdef5be2ccbe"; MediaType JSON = MediaType.parse("application/json; charset=utf-8"); RequestBody body = RequestBody.create(JSON, "{\"patientAddress\" :\"" + patientAddress + "\"}"); Request request = new Request.Builder() .url(getString(R.string.main_url) + "/api/getPatientDetails") .headers(buildStandardHeaders(Stormpath.accessToken())) .post(body) .build();
“{patientAddress:”
这不是有效的JSON。
你需要引用密钥。
"{\"patientAddress\" :\"" + patientAddress + "\"}"
但是,请使用适当的JSON库来构buildJSON对象string
JSONObject params = new JSONObject(); params.put("patientAddress", patientAddress);
请求与params.toString()
您也可以使用Okhttp的Retrofit从您的API制作Java对象
- 离子不在Windows 7上安装 – 获取许多错误
- Google云消息传递(fake_message_id)
- 在Appcelerator Studio中,Liveview不能在Alloy Projects(在Classic Projects中正常运行)中工作
- android平板上的Node.js开发
- 使用Node.jsencryption模块进行encryption并使用Java解密(在Android应用程序中)
- koush AndroidAsync Socket.IO:看起来ConnectCallback()在Google Glass上没有被触发
- Alexa的技能不能正确响应Android应用程序
- 如何使用android应用程序控制覆盆子pi gpio端口?
- 使用Google云打印从应用打印到餐馆中的指定打印机