Translating escape sequence
J. Landman Gay
jacque at hyperactivesw.com
Wed Mar 15 00:28:36 EDT 2017
Thanks. I actually was using jsonImport() with these strings
successfully (no wrapper required) but it has a bug on Android that
makes it unuseable. That's what caused the problem in the first place,
because jsonToArray() doesn't deal with escape sequences.
So I went ahead and wrote a decoder for escaped sequences that works,
but found out I still can't use it. If I replace the escapes before
using jsonToArray(), jsonToArray throws an error; it can't deal with the
UTF16 strings. And I can't run my decoder through the keys of the
converted array after jsonToArray is finished, because they are already
munged into garbage characters by then.
So I'm stuck, I don't see any way to deal with these. I'll put in a bug
report about jsonImport() but it will probably be a while before it gets
fixed.
I hope someone else has an idea.
On 3/14/17 7:13 PM, Jim Lambert via use-livecode wrote:
>
>> Jacque wrote:
>>
>> I'm dealing with non-English languages, and JSON data retrieved from a
>> database comes in with unicode escape sequences like this: Eduardo
>> Ba\u00f1uls.
>>
>> I need to translate those. I can do it by replacing the "\u" with "0x"
>> and then using numToCodepoint() to get the UTF16 character. But there
>> could be many of these in the same string, so I'm looking for a one-shot
>> command that might just do them all.
>
>
> JSONImport does it.
> If the escaped string is not in JSON format this function will wrap it in JSON then let JSONImport do its thing.
>
> put deEscape("Eduardo Ba\u00f1uls")
>
> function deEscape pEscapedText
> put "{'1':'**dummy**'}" into temp
> replace "**dummy**" with pEscapedText in temp
> replace "'" with quote in temp
> put JSONImport(temp)into pArray
> return pArray[1]
> end deEscape
>
> Roundabout but does the trick.
>
> Jim Lambert
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
--
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
More information about the use-livecode
mailing list