Skip to content

Commit 367b494

Browse files
committed
hacked together working example
1 parent b99f42b commit 367b494

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

pandas/_libs/src/ujson/lib/ultrajsonenc.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -968,15 +968,13 @@ void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name,
968968
enc->iterBegin(obj, &tc);
969969

970970
Buffer_AppendCharUnchecked(enc, '[');
971-
Buffer_AppendIndentNewlineUnchecked (enc);
972971

973972
while (enc->iterNext(obj, &tc)) {
974973
if (count > 0) {
975974
Buffer_AppendCharUnchecked(enc, ',');
976975
#ifndef JSON_NO_EXTRA_WHITESPACE
977976
Buffer_AppendCharUnchecked(buffer, ' ');
978977
#endif
979-
Buffer_AppendIndentNewlineUnchecked (enc);
980978
}
981979

982980
iterObj = enc->iterGetValue(obj, &tc);
@@ -988,8 +986,6 @@ void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name,
988986
}
989987

990988
enc->iterEnd(obj, &tc);
991-
Buffer_AppendIndentNewlineUnchecked (enc);
992-
Buffer_AppendIndentUnchecked (enc, enc->level);
993989
Buffer_Reserve(enc, 2);
994990
Buffer_AppendCharUnchecked(enc, ']');
995991
break;
@@ -1001,6 +997,7 @@ void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name,
1001997

1002998
Buffer_AppendCharUnchecked(enc, '{');
1003999
Buffer_AppendIndentNewlineUnchecked (enc);
1000+
Buffer_AppendIndentUnchecked (enc, enc->level + 2);
10041001

10051002
while (enc->iterNext(obj, &tc)) {
10061003
if (count > 0) {
@@ -1009,21 +1006,20 @@ void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name,
10091006
Buffer_AppendCharUnchecked(enc, ' ');
10101007
#endif
10111008
Buffer_AppendIndentNewlineUnchecked (enc);
1009+
Buffer_AppendIndentUnchecked (enc, enc->level + 2);
10121010
}
10131011

10141012
iterObj = enc->iterGetValue(obj, &tc);
10151013
objName = enc->iterGetName(obj, &tc, &szlen);
10161014

10171015
enc->level++;
1018-
Buffer_AppendIndentUnchecked (enc, enc->level);
10191016
encode(iterObj, enc, objName, szlen);
10201017
count++;
10211018
}
10221019

10231020
enc->iterEnd(obj, &tc);
10241021
Buffer_AppendIndentNewlineUnchecked (enc);
1025-
Buffer_AppendIndentUnchecked (enc, enc->level);
1026-
Buffer_Reserve(enc, 2);
1022+
Buffer_AppendIndentUnchecked (enc, enc->level + 1);
10271023
Buffer_AppendCharUnchecked(enc, '}');
10281024
break;
10291025
}

pandas/tests/io/json/test_pandas.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1326,13 +1326,13 @@ def test_to_json_indent(self):
13261326

13271327
result = df.to_json(indent=4)
13281328
expected = """{
1329-
"a": {
1330-
"0": "foo",
1331-
"1": "baz"
1329+
"a":{
1330+
"0":"foo",
1331+
"1":"baz"
13321332
},
1333-
"b": {
1334-
"0": "bar",
1335-
"1": "qux"
1333+
"b":{
1334+
"0":"bar",
1335+
"1":"qux"
13361336
}
13371337
}"""
13381338

0 commit comments

Comments
 (0)