Git Product home page Git Product logo

Comments (4)

ohler55 avatar ohler55 commented on August 18, 2024

It seems to work fine for me. If you look at each character in the string you will see there are no backslashes in the json string. Ruby displays the backslashes to denote the embedded quote characters. They are not actually in the string itself. When you get the second character a single quote character is returned. It is displayed as a backslash quote sequence but it is a single character.

Not when calling puts the display does not include the backslashes.

irb(main):001:0> json = %{{"json":[{"id":1,"title":"Casablanca"}]}}
=> "{"json":[{"id":1,"title":"Casablanca"}]}"
irb(main):002:0> obj = Oj.load(json)
=> {"json"=>[{"id"=>1, "title"=>"Casablanca"}]}
irb(main):003:0> obj.class
=> Hash
irb(main):004:0> j2 = Oj.dump(obj)
=> "{"json":[{"id":1,"title":"Casablanca"}]}"
irb(main):005:0> j2 == json
=> true
irb(main):006:0> j2[1]
=> """
irb(main):007:0> puts j2
{"json":[{"id":1,"title":"Casablanca"}]}
=> nil

from oj.

kakubei avatar kakubei commented on August 18, 2024

I'm not sure I understand. When I output the JSON string without Oj I don't get any backslashes. When I add Oj.dump() I do get the backslashes. I understand that the backslashes are there because the string is itself eclosed within another string, but it seems to me that what is eclosing the original string within a second string is Oj no?

What am I missing?

PS
It is true that when I use puts from the IRB the backslashes are not there.

puts Oj.dump(Dvd.title_search('casablanca').map { |e| e.title})
["Casablanca"]
=> nil

So you're saying not to worry about it and pass the JSON string on to the app and it won't have the backslashes :)

Thanks.

from oj.

ohler55 avatar ohler55 commented on August 18, 2024

Notice on the first line of the sample code the quotes are escaped with backslashes when displayed by rib. Same for the Oj dumped string. It really is just a display issue and it depends on how it is displayed for both strings.

Bottom line is don't worry, it is correct and other applications will be able to read it as JSON. Have fun.

from oj.

kakubei avatar kakubei commented on August 18, 2024

Thanks a lot Peter, and thanks for the gem!

from oj.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.