views:

188

answers:

2

I wonder why i cant decode this json string, all what i want is to convert this to a proper Ruby hash, anyone have an idea? i think the array of objects is cracking it ?

Parameters:

{"{\"origins\":"=>{"{\"origin\":\"this\"},{\"origin\":\"dont\"},{\"origin\":\"dont me please\"},{\"origin\":\"and me please\"},{\"origin\":\"dont\"},{\"origin\":\"dont\"},{\"origin\":\"dont\"},{\"origin\":\"okay\"},{\"origin\":\"dont\"},{\"origin\":\"go\"},{\"origin\":\"go\"}"=>{",\"url\":\"file:///Users/waheed/Desktop/untitled.html\",\"apik\":\"helloapik\",\"host\":\"http://localhost:3000/\"}"=>nil}}}

now in my javascript im doing this

//this is the object im trying to send over xmlhttprequest and im using JSON.org library which has the stringify method

 function tObject(origins,url,apik){
    this.origins=origins; //this is an array of string
    this.url=url;
    this.apik=apik; 
}

    var t = new tObject(myStringArr,"www.foo.com","welcome guys");

ajax = new Ajax(); //this is an xhcon class you dont worry about it url here http://xkr.us/code/javascript/XHConn/
ajax.connect("http://localhost:3000/","POST",JSON.stringify(t), callback); 

in my rails app the parameters that has been posted looks like this:

Parameters: {"{\"origins\":"=>{"{\"origin\":\"this\"},{\"origin\":\"yo yo\"},{\"origin\":\" me please\"},{\"origin\":\"and me please\"},{\"origin\":\"here\"},{\"origin\":\"and again\"},{\"origin\":\"again\"},{\"origin\":\"okay\"},{\"origin\":\"yes\"},{\"origin\":\"go\"},{\"origin\":\"go\"}"=>{",\"url\":\"www.foo.com\",\"apik\":\"welcome guys\"}"=>nil}}}

why it results with nil at the last ? i've tried to decode it but it could not work because it blame the string is not json string ?!!?

TIA, waheedi

A: 

Maybe you pasted it badly because I'm getting this error even trying to load that string:

syntax error, unexpected tASSOC, expecting $end
s = "{\"origins\":"=>{"{\"origin\":\"this\"},{\"ori...
                     ^
tadman
sorry for that, i've copied it from console as it is now,
Waheedi
A: 

That's not a valid JSON string. Both nil and => are invalid values for JSON.

jvenema
i've updated my post, im really confused what is causing this??
Waheedi