diff options
author | drh <> | 2023-03-22 16:24:17 +0000 |
---|---|---|
committer | drh <> | 2023-03-22 16:24:17 +0000 |
commit | c408c155d7d65f9d00e93d61449fce018d0f242b (patch) | |
tree | 7e8c49b9879eda4ef6e8f77fb8d5960c34abbabb /src/json.c | |
parent | 8854f30295cb35cb5d6185aed84d2fe6336dcf8a (diff) | |
parent | 667b5cc985d68f0f63e67a2888d0ec36c83a1688 (diff) | |
download | sqlite-c408c155d7d65f9d00e93d61449fce018d0f242b.tar.gz sqlite-c408c155d7d65f9d00e93d61449fce018d0f242b.zip |
The double-to-text conversion renders infinity as 9e999, so that JSON
output is compliant and so that values can be round-tripped.
FossilOrigin-Name: b52081d0acd07dc5bdb4951a3e8419866131965260c1e3a4c9b6e673bfe3dfea
Diffstat (limited to 'src/json.c')
-rw-r--r-- | src/json.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/json.c b/src/json.c index 67448421b..9783a3898 100644 --- a/src/json.c +++ b/src/json.c @@ -307,8 +307,11 @@ static void jsonAppendValue( jsonAppendRaw(p, "null", 4); break; } - case SQLITE_INTEGER: case SQLITE_FLOAT: { + jsonPrintf(100, p, "%!0.15g", sqlite3_value_double(pValue)); + break; + } + case SQLITE_INTEGER: { const char *z = (const char*)sqlite3_value_text(pValue); u32 n = (u32)sqlite3_value_bytes(pValue); jsonAppendRaw(p, z, n); |