Figured it out
On Sep 7, 2014 7:19 AM, "YB Israel" <[email protected]> wrote:

> My scenario, I have a file that I read, manipulate the strings and write
> back. It's not JSON, just some html tag stuff, where I'm replacing a few
> strings and then rewriting the file.
>
> If in the process I encounter a string e.g., "${abcd}", how can I avoid
>  finding "\${abcd}" when rewriting the file?
>
> On Wednesday, May 22, 2013 11:19:34 PM UTC+3, Westley Hennigh wrote:
>>
>> Ya, should be fine in this case. Parsing proper JSON seems to work fine
>> and it even errors properly on the malformed strings with "\$".
>>
>> In this case all that needs to happen is we replace the call to
>> `print_quoted` (a trivial function) with a json-aware version that handles
>> any oddities... and so far the only thing that's come up is "\$".
>>
>> On Wednesday, May 22, 2013 1:04:18 PM UTC-7, Stefan Karpinski wrote:
>>>
>>> Starting from the versions in Base it probably shouldn't be too awful. I
>>> might take a look.
>>>
>>>
>>> On Wed, May 22, 2013 at 3:59 PM, Westley Hennigh <[email protected]>
>>> wrote:
>>>
>>>> Ok, thanks.
>>>>
>>>> I guess I'll work on that then.
>>>>
>>>>
>>>> On Wednesday, May 22, 2013 12:47:30 PM UTC-7, Stefan Karpinski wrote:
>>>>
>>>>> Using Julia's escaping and unescaping for JSON is a bit of a dirty
>>>>> hack that mostly happens to work but isn't really right – as you're
>>>>> discovering here. Since Julia strings and JSON strings aren't the same, it
>>>>> probably makes the most sense to write escape and unescape routines
>>>>> specifically for JSON rather than abusing the ones in Base. These 
>>>>> functions
>>>>> shouldn't go in Base since they're JSON-specific. Even though other
>>>>> languages like C and Java will have fairly similar escaping routines, 
>>>>> these
>>>>> rules are never quite identical, so I think we just handle interop with
>>>>> various systems on a case-by-case basis. Fortunately, everybody seems to
>>>>> understand JSON these days.
>>>>>
>>>>> On Wed, May 22, 2013 at 1:22 PM, Westley Hennigh <[email protected]
>>>>> > wrote:
>>>>>
>>>>>> JSON.jl uses `print_quoted` to escape strings used to build json
>>>>>> objects. This is great, but doesn't handle julia strings like "bla bla
>>>>>> \$expensive-bla". "\$" is not valid json.
>>>>>>
>>>>>> I don't think it makes sense to change `print_quoted` (to remove the
>>>>>> "\"). From the perspective of most julia code that would be the opposite 
>>>>>> of
>>>>>> printing quoted.
>>>>>>
>>>>>> I also don't think this is a JSON.jl specific issue, I suspect that
>>>>>> the same problem will come up anywhere people send julia strings to other
>>>>>> languages.
>>>>>>
>>>>>> So maybe there needs to be a new method in Base? Or is there a
>>>>>> solution to this problem that I've overlooked?
>>>>>>
>>>>>
>>>>>
>>>

Reply via email to