Unless you have a custom object with custom .toString
method returning JSON.stringify
of that object, there is no obj
that would give obj.toString() == JSON.stringify(obj)
.
When obj
is an array like [1,2,3]
then .toString()
gives:
"1,2,3"
And JSON.stringify
:
"[1,2,3]"
These are close but not quite the same, the JSON serialized one has no ambiguity with commas and directly runs as Javascript or can be parsed as JSON.
See:
["1,",2,3].toString();
//"1,,2,3" ... so you can't just split by comma and get original array
//it is in fact impossible to restore the original array from this result
JSON.stringify(["1,",2,3])
//'["1,",2,3]'
//original array can be restored exactly
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…