[英]How to handle multiple individual json response?
實際上,我正在做一些測試,其中我從我們的一個端點獲得響應,該端點看起來像多個單獨的 json 對象,我需要將它們轉換為字符串或單個 json ZA8CFDE6331BD59EB2AC96F8911C4B66 這樣的形式,以便可以在 I他們。
Json 響應示例:-
{"user_name":"testUser","email":"test@test.com"}
{"country":"Australia","Gender":"Male"}
{"type":"Customer_Account","membership":"Annual"}
這里的問題是在將其轉換為某個字符串或 Json object 之前,我無法執行任何操作。
並且無法控制響應,因為它來自某些第三方應用程序。
任何想法如何使用 JavaScript 將其轉換為 Java 都會有很大幫助。
如果您的對象由換行符分隔,您可以逐行讀取 stream,並解析每一行應該是有效的 JSON。
否則,您可以通過跟蹤嵌套大括號的級別( {
遞增, }
遞減)來檢測 object 的結尾。
除了單獨解析每個 object 之外,您還可以插入括號和逗號以形成有效的 JSON 數組,然后解析該數組。
我認為您的問題出在響應的來源上,這不是有效的 JSON。 您可以在此處驗證錯誤: https://jsonlint.com/
你實現了 JSON 的源碼了嗎? 如果是這樣,您可以將其設為對象列表...
[{"user_name":"testUser","email":"test@test.com"},
{"country":"Australia","Gender":"Male"},
{"type":"Customer_Account","membership":"Annual"}]
如果響應的來源是外部的(您不能修改它),則可以將響應保存為字符串,然后將字符串拆分為列表以對其進行迭代以生成對象。
希望這有點幫助。
用逗號連接它們,
並將結果放在括號[]
中:
[
{"user_name":"testUser","email":"test@test.com"},
{"country":"Australia","Gender":"Male"},
{"type":"Customer_Account","membership":"Annual"},
]
之后使用可以使用 JSONObject class 或其他相關的東西
使用正則表達式拆分 JSON 並將其保存在數組中:
let text = '{"user_name":"testUser","email":"test@test.com"}{"country":"Australia","Gender":"Male"}{"type":"Customer_Account","membership":"Annual"}'; const myArray = text.split(/(?=[{])/g); let name = JSON.parse(myArray[0]).user_name; console.log(myArray[0]); console.log(name);
現在您可以將字符串解析為 JSON。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.