mirror of https://github.com/svaarala/duktape.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
170 lines
3.1 KiB
170 lines
3.1 KiB
|
|
var obj = { foo:1, bar:2, quux: [ 1, 2 ], emptyObj: {}, emptyArr: [] };
|
|
|
|
/*===
|
|
{"foo":1,"bar":2,"quux":[1,2],"emptyObj":{},"emptyArr":[]}
|
|
===*/
|
|
|
|
/* Baseline */
|
|
|
|
print(JSON.stringify(obj));
|
|
|
|
/*===
|
|
{"foo":1,"bar":2,"quux":[1,2],"emptyObj":{},"emptyArr":[]}
|
|
{
|
|
"foo": 1,
|
|
"bar": 2,
|
|
"quux": [
|
|
1,
|
|
2
|
|
],
|
|
"emptyObj": {},
|
|
"emptyArr": []
|
|
}
|
|
{
|
|
"foo": 1,
|
|
"bar": 2,
|
|
"quux": [
|
|
1,
|
|
2
|
|
],
|
|
"emptyObj": {},
|
|
"emptyArr": []
|
|
}
|
|
{
|
|
"foo": 1,
|
|
"bar": 2,
|
|
"quux": [
|
|
1,
|
|
2
|
|
],
|
|
"emptyObj": {},
|
|
"emptyArr": []
|
|
}
|
|
===*/
|
|
|
|
/* String up to 10 chars is accepted. If the string is given but is empty,
|
|
* stringify() must behave as if no string was given (= compact encoding).
|
|
*
|
|
* Note that empty arrays and objects are required to appear in a compact
|
|
* form, as "[]" and "{}", respectively.
|
|
*/
|
|
|
|
print(JSON.stringify(obj, null, ''));
|
|
print(JSON.stringify(obj, null, ' '));
|
|
print(JSON.stringify(obj, null, ' '));
|
|
print(JSON.stringify(obj, null, ' clipped'));
|
|
|
|
/*===
|
|
{
|
|
foo"foo": 1,
|
|
foo"bar": 2,
|
|
foo"quux": [
|
|
foofoo1,
|
|
foofoo2
|
|
foo],
|
|
foo"emptyObj": {},
|
|
foo"emptyArr": []
|
|
}
|
|
===*/
|
|
|
|
/* String may also contain arbitrary characters, producing invalid JSON. */
|
|
|
|
print(JSON.stringify(obj, null, 'foo'));
|
|
|
|
/*===
|
|
{"foo":1,"bar":2,"quux":[1,2],"emptyObj":{},"emptyArr":[]}
|
|
{"foo":1,"bar":2,"quux":[1,2],"emptyObj":{},"emptyArr":[]}
|
|
{"foo":1,"bar":2,"quux":[1,2],"emptyObj":{},"emptyArr":[]}
|
|
{
|
|
"foo": 1,
|
|
"bar": 2,
|
|
"quux": [
|
|
1,
|
|
2
|
|
],
|
|
"emptyObj": {},
|
|
"emptyArr": []
|
|
}
|
|
{
|
|
"foo": 1,
|
|
"bar": 2,
|
|
"quux": [
|
|
1,
|
|
2
|
|
],
|
|
"emptyObj": {},
|
|
"emptyArr": []
|
|
}
|
|
{
|
|
"foo": 1,
|
|
"bar": 2,
|
|
"quux": [
|
|
1,
|
|
2
|
|
],
|
|
"emptyObj": {},
|
|
"emptyArr": []
|
|
}
|
|
{
|
|
"foo": 1,
|
|
"bar": 2,
|
|
"quux": [
|
|
1,
|
|
2
|
|
],
|
|
"emptyObj": {},
|
|
"emptyArr": []
|
|
}
|
|
{
|
|
"foo": 1,
|
|
"bar": 2,
|
|
"quux": [
|
|
1,
|
|
2
|
|
],
|
|
"emptyObj": {},
|
|
"emptyArr": []
|
|
}
|
|
{
|
|
"foo": 1,
|
|
"bar": 2,
|
|
"quux": [
|
|
1,
|
|
2
|
|
],
|
|
"emptyObj": {},
|
|
"emptyArr": []
|
|
}
|
|
{
|
|
"foo": 1,
|
|
"bar": 2,
|
|
"quux": [
|
|
1,
|
|
2
|
|
],
|
|
"emptyObj": {},
|
|
"emptyArr": []
|
|
}
|
|
{"foo":1,"bar":2,"quux":[1,2],"emptyObj":{},"emptyArr":[]}
|
|
===*/
|
|
|
|
/* Space argument can also be a number */
|
|
|
|
print(JSON.stringify(obj, null, Number.NEGATIVE_INFINITY));
|
|
print(JSON.stringify(obj, null, -1));
|
|
print(JSON.stringify(obj, null, 0));
|
|
print(JSON.stringify(obj, null, 1));
|
|
print(JSON.stringify(obj, null, 2));
|
|
print(JSON.stringify(obj, null, 4.1));
|
|
print(JSON.stringify(obj, null, 4.9));
|
|
print(JSON.stringify(obj, null, 10));
|
|
print(JSON.stringify(obj, null, 11));
|
|
print(JSON.stringify(obj, null, Number.POSITIVE_INFINITY));
|
|
print(JSON.stringify(obj, null, Number.NaN));
|
|
|
|
/*===
|
|
===*/
|
|
|
|
/* FIXME: coercion of String and Number objects */
|
|
|
|
|