diff options
| author | ruki <[email protected]> | 2025-11-14 23:34:02 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-11-14 23:34:02 +0800 |
| commit | d066068a571d6e6515e56270374e96518d20eaf0 (patch) | |
| tree | 6d96a1dddf03ea86c897b9268db9366abf71868a /xmake/core/base/json.lua | |
| parent | 8d9b5970ed3f44a84f5e7ed5f7f140e72a9f1e97 (diff) | |
fix test
Diffstat (limited to 'xmake/core/base/json.lua')
| -rw-r--r-- | xmake/core/base/json.lua | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/xmake/core/base/json.lua b/xmake/core/base/json.lua index 2ed363461..760adefa0 100644 --- a/xmake/core/base/json.lua +++ b/xmake/core/base/json.lua @@ -24,6 +24,7 @@ local json = json or {} -- load modules local io = require("base/io") local os = require("base/os") +local table = require("base/table") local utils = require("base/utils") -- export null @@ -134,6 +135,10 @@ function json._pure_stringify(obj, level, as_key, opt) opt = opt or {} level = level or 0 local pretty = opt.pretty + local orderkeys = opt.orderkeys + if orderkeys == nil and pretty then + orderkeys = true + end local indent_step = pretty and (opt.indent or 4) or nil local newline = pretty and "\n" or "" local curr_indent = indent_step and string.rep(" ", indent_step * level) or nil @@ -172,7 +177,8 @@ function json._pure_stringify(obj, level, as_key, opt) end s[#s + 1] = '{' local first = true - for k, v in pairs(obj) do + local iter = orderkeys and table.orderpairs or pairs + for k, v in iter(obj) do if not first then s[#s + 1] = ',' end |
