admin管理员组

文章数量:1122846

I have a standard rest API setup in WP. The results are displayed in an IOS App. Now the problem occurres, that single and double quotes and & are returned in the JSON as Unicode Decimal Code: eg. &#8216. All other characters seem fine. Any Ideas to that?

I have a standard rest API setup in WP. The results are displayed in an IOS App. Now the problem occurres, that single and double quotes and & are returned in the JSON as Unicode Decimal Code: eg. &#8216. All other characters seem fine. Any Ideas to that?

Share Improve this question asked Aug 20, 2018 at 13:56 MartinMartin 112 bronze badges 2
  • How are you sending from WP to your iOS App? Did you see this response? wordpress.stackexchange.com/a/303881/137650 – Jorge Casariego Commented Aug 20, 2018 at 14:16
  • Thanks for looking into this. The IOS App makes simple Rest API calls. Such as: somedomain.com/wp-json/wp/v2/news/7108. When I open the link in Firefox it displays the JSON formated in a readable way. And it also displays the &#8216 for a ' in a title. – Martin Commented Aug 20, 2018 at 14:23
Add a comment  | 

1 Answer 1

Reset to default 0

I'll show here an example of how you can convert the HTML to Plain Text in Swift 4.

This example simulate that you're receiving this:

WordPress&#8216House --> WordPress'House

  1. Add this extension to convert your html code to a regular string:

`

extension Data {
    var html2AttributedString: NSAttributedString? {
        do {
            return try NSAttributedString(data: self, options: [.documentType: NSAttributedString.DocumentType.html, .characterEncoding: String.Encoding.utf8.rawValue], documentAttributes: nil)
        } catch {
            print("error:", error)
            return  nil
        }
    }
    var html2String: String {
        return html2AttributedString?.string ?? ""
    }
}

extension String {
    var html2AttributedString: NSAttributedString? {
        return Data(utf8).html2AttributedString
    }
    var html2String: String {
        return html2AttributedString?.string ?? ""
    }
}
  1. Use the extension

`

let htmlString = "WordPress&#8216House"

print("String is: ", textFromWP.html2String)

本文标签: Rest API encoding of double quotes