5

Is there any way to convert javascript object into JSON.

I can not use

JSON.stringify(<obj>)

Because there is no stringify method in the JSON object in the following link.

Link

Example:

var obj = {'x':1,'y':2}

Now if I'll run

console.log(JSON.stringify(obj));

Then I'm getting this error.

error: TypeError: Object # has no method 'stringify'

2
  • No repo, jsfiddle.net/nXQxC Commented Mar 25, 2014 at 8:48
  • Fiddle works fine in Chrome Commented Mar 25, 2014 at 8:53

4 Answers 4

2

Well, the website overrides the actual JSON object with their own.

> JSON
> Object {toStr: function, quote: function}

Try using JSON.toStr(object)

Sign up to request clarification or add additional context in comments.

1 Comment

Thanks Man. You are observant!
2

It appears that some code/library has overridden the global JSON object. JSON.toStr is fine but if you want the original JSON objet back you can always create an invisible frame and use its global objects

OriginalJSON = (function() {
  var e = document.createElement('frame');
  e.style.display = 'none';
  var f = document.body.appendChild(e);
  return f.contentWindow.JSON;
})()

OriginalJSON.stringify({a: 1})

This is a technique that works for all global objects that has been overridden for some reason. As an alternative you can always copy only the stringify method

JSON.stringify = (function() {
  var e = document.createElement('frame');
  e.style.display = 'none';
  var f = document.body.appendChild(e);
  return f.contentWindow.JSON.stringify;
})()

// Now JSON.stringify is back
JSON.stringify({a: 1})

1 Comment

I really appreciate this explanative answer, because with this method it`s possible to solve another overrides. Thanks.
1

stringify method depends on your browser.

So if you cannot find JSON.stringify(), maybe the browser you're using is not compatible to JSON API, you could include this library to make it there:

json2.js

2 Comments

Browser supports because I can use it in other sites!
But I'm curious about your situation, could you provide any sample to see why only your site JSON got blocked?
0

Consider using external library, for example JSON 3 is a good choice.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.