当响应同时包含 JSON 数据和文本时访问 JSON 数据
Accessing JSON data when response contains both JSON data and text
最初来自服务器的内容是 JSON data.And 我能够完美地访问数据。
{ "status":"ok", "artifact":"weblayer-war", "version":"0.0.41-test-data", "buildtime":"test-data" }
现在服务器的响应已更改为json数据+文本数据。
{ "status":"ok", "artifact":"weblayer-war", "version":"0.0.41-test-data", "buildtime":"test-data" }
Properties for service:
=======================
ServiceEndpoint: https://somedomain:1200/web/Servlet/SOAP/Services
Certificates: false
DocumentName: note.pdf
那么是否将内容类型更改为应用程序文本并使用拆分方法是我们解决此问题的唯一方法还是有更好的方法吗?
你真的应该考虑一下你的 API 设计。
如何将文本部分添加为 JSON 的一部分?
{
... // your JSON properties here
"serviceProperties": { // properties for service
"ServiceEndpoint": "https://somedomain:1200/web/Servlet/SOAP/Services",
"Certificates": false,
"DocumentName": "note.pdf"
}
}
如评论中所述,混合 JSON 和纯文本数据是错误的(因为它破坏了使用标准化数据格式的优势),应该避免。也许那是生产代码中意外包含的某种调试日志?
如果没有,您应该只读取响应的第一行并将其解析为 JSON 数据,忽略其余部分,希望响应结构不再发生变化 ;)
最初来自服务器的内容是 JSON data.And 我能够完美地访问数据。
{ "status":"ok", "artifact":"weblayer-war", "version":"0.0.41-test-data", "buildtime":"test-data" }
现在服务器的响应已更改为json数据+文本数据。
{ "status":"ok", "artifact":"weblayer-war", "version":"0.0.41-test-data", "buildtime":"test-data" }
Properties for service:
=======================
ServiceEndpoint: https://somedomain:1200/web/Servlet/SOAP/Services
Certificates: false
DocumentName: note.pdf
那么是否将内容类型更改为应用程序文本并使用拆分方法是我们解决此问题的唯一方法还是有更好的方法吗?
你真的应该考虑一下你的 API 设计。
如何将文本部分添加为 JSON 的一部分?
{
... // your JSON properties here
"serviceProperties": { // properties for service
"ServiceEndpoint": "https://somedomain:1200/web/Servlet/SOAP/Services",
"Certificates": false,
"DocumentName": "note.pdf"
}
}
如评论中所述,混合 JSON 和纯文本数据是错误的(因为它破坏了使用标准化数据格式的优势),应该避免。也许那是生产代码中意外包含的某种调试日志?
如果没有,您应该只读取响应的第一行并将其解析为 JSON 数据,忽略其余部分,希望响应结构不再发生变化 ;)