Search code examples
flutterunicodeunicode-stringunicode-escapes

How to display Unicode Smiley from json response dynamically in flutter


How to display Unicode Smiley from json response dynamically in flutter. It's display properly when i declare string as a static but from dynamic response it's not display smiley properly.

Static Declaration: (Working)

child: Text("\ud83d\ude0e\ud83d\ude0eThis is just test notification..\ud83d\ude0e\ud83d\ude0e\ud83d\udcaf\ud83d\ude4c")

Dynamic Response:

"message":"\\ud83d\\ude4c Be Safe at your home \\ud83c\\udfe0",

When i'm parse and pass this response to Text then it's consider Unicode as a String and display as a string instead of Smiley Code is below to display text with smiley:

child: Text(_listData[index].message.toString().replaceAll("\\\\", "\\"))

Already go through this: Question but it's only working when single unicode not working with multiple unicode.

Anyone worked with text along with unicode caracter display dynamically then please let me know.


Solution

  • Issue resolved by using below code snippet.

      Client client = Client();
      final response = await client.get(Uri.parse('YOUR_API_URL'));
      if (response.statusCode == 200) {
        // If the server did return a 200 OK response,
        // then parse the JSON.
        final extractedData = json.decode(response.body.replaceAll("\\\\", "\\"));
            }
    

    Here we need to replace double backslash to single backslash and then decode JSON respone before set into Text like this we can display multiple unicode like this:

    final extractedData = json.decode(response.body.replaceAll("\\", "\"));

    Hope this answer help to other