/json.ahk

JSON module for AutoHotkey

Primary LanguageAutoHotkeyMIT LicenseMIT

JSON.ahk

Works on both v1 and v2 of AutoHotkey


Installation

In a terminal or command line navigated to your project folder:

npm install json.ahk

In your code only export.ahk needs to be included:

#Include %A_ScriptDir%\node_modules\json.ahk\export.ahk

JSON.stringify([1, 2, 3])
; => "[1, 2, 3]"

JSON.parse("[1, 2, 3]")
; => [1, 2, 3]

You may also review or copy the library from ./export.ahk on GitHub; #Incude as you would normally if manually downloading.

API

.parse()

Parses a JSON string into a value.

Syntax:
value := JSON.parse(string [, reviver ])
Return Value:

value (object, string, number)

Parameter(s):
  • string - JSON formatted string
  • reviver [optional] - function object, prescribes how the value originally produced by parsing is transformed, before being returned. Similar to JavaScript's JSON.parse() reviver parameter
Example:
JSON.parse("[1, 2, 3]")
; => [1, 2, 3]

.stringify()

Converts a value into a JSON string.

Syntax:
str := JSON.stringify(value, [, replacer, space ])
Return Value:

A JSON formatted string

Parameter(s):
  • value - (object, string, number)
  • replacer [optional] - function object, alters the behavior of the stringification process. Similar to JavaScript's JSON.stringify() replacer parameter
  • space [optional] -if space is a non-negative integer or string, then JSON array elements and object members will be pretty-printed with that indent level. Blank( "" ) (the default) or 0 selects the most compact representation. Using a positive integer space indents that many spaces per level, this number is capped at 10 if it's larger than that. If space is a string (such as "`t"), the string (or the first 10 characters of the string, if it's longer than that) is used to indent each level
Example:
JSON.stringify([1, 2, 3])
; => "[1, 2, 3]"

.test()

tests if a string is a valid json string or not.

Syntax:
JSON.test(string)
Return Value:

true if the string is interpreted as valid json, else false

Parameter(s):
  • string - the string value to be tested for validity
Example:
JSON.test("[1, 2, 3]")
; => true

JSON.test([1, 2, 3]) ; an object
; => false

JSON.test("")
; => false