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