簡體   English   中英

解析無效的 JSON swift 5

[英]parsing invalid JSON swift 5

我有一個來自外部 api 的無效 json:

{
    status: 'ok',
    pills: [{
            id: 1,
            name: "Мезим форте",
            img: "https://cloud.fdoctor.ru/test_task/static/mezim.jpg",
            desription: "Перед завтраком",
            dose: "По таблетке"
        },
        {
            id: 2,
            name: "Bioderma",
            img: "https://cloud.fdoctor.ru/test_task/static/bioderma.jpg",
            desription: "Во время еды"
            dose: "По 3 глотка"
        },
        {
            id: 3,
            name: "Гексорал, Аэрозоль"
            img: "https://cloud.fdoctor.ru/test_task/static/gecsoral.jpg",
            desription: "При острых болях"
            dose: "По 3 пшика"
        },
        {
            id: 4,
            name: "Тантум Верде, спрей"
            img: "https://cloud.fdoctor.ru/test_task/static/tantum.jpg",
            desription: "Каждые 4 часа в течении 7 дней"
            dose: "По таблетке"
        }
    ]
}

有沒有辦法用可編碼的協議解析它?

在 API 上修復它不是一種選擇。

您可以使用以下 reg ex 替換來清理字符串並使其符合 json

//Surround keys with quotes
let firstStep = input.replacingOccurrences(of: #"\s(\w+):{1}"#, 
                                           with: #""$1":"#, 
                                           options: .regularExpression)
//Fix status value
let json = firstStep.replacingOccurrences(of: "'", with: "\"")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM