gpt4 book ai didi

ios - 如何在 swift 中的每个循环中附加字符串

转载 作者:行者123 更新时间:2023-11-29 05:22:59 24 4
gpt4 key购买 nike

我想解析json字符串并显示在UITextView中。我正在使用带有键和值的 HTML 字符串获取数据。这是来自服务器的以下示例字符串响应,

   {"":"<strong>Adidas<\/strong><br>Enjoy 10% off","Period":"10 Oct 2019 - 11 Nov 2019","Description":"<p>Enjoy 30% off 
"Terms & Conditons":"<ol>\n<li>It's available only in peak hours<\/li>\n}

我需要用 HTML 显示如下格式,

Expected output: 
Adidas
Enjoy 10% off
Period:
10 Oct 2019 - 11 Nov 2019
Description:
Enjoy 30% off.
Terms & Conditons:
It's available only in peak hours

我使用了字典并提取了数据,但问题是数据的顺序不按顺序。

   func setupData(responseString : String)
{
// Convert string to dictionary for extracting the keys and values
// Need to maintain the order while adding the data
let content = convertToDictionary(text: responseString)
var text : String = ""
if let contentDataDict = content
{
for (key, value) in contentDataDict
{
// want to append the key and values in the sequence order
textView.attributedText = text.htmlToAttributedString
}

}
}

如何根据预期输出解析和显示数据。

最佳答案

Devan,你的想法是对的,字典不起作用。你最好将 html 加载到数组中。我使用伪代码来表示新的 convertToArray 来替换您的 convertToDictionary,因为您没有提供所有原始代码

struct Component {
field: String
value: String
}

func convertToArray(response: String) -> [Component] [
let components = [Component]()
for entries in response {
//extract key/value pairs from html as before
//then create a component struct with them and add it to the array
components.append(Component(field: key, value: value)
}
return components //now a sequence of structs represent your data in order
}


func setupData(responseString : String) {
let components: [Component] = convertToArray(text: responseString)
for component in components {
//add component.field and component.value to your attributed text string
//and then display as before
}
}

关于ios - 如何在 swift 中的每个循环中附加字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58481051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com