Skip to content

Winand/mikrotik-json-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Mikrotik JSON Parser

Based on Chupakabra303's JSON parser for RouterOS.

ℹ️Consider using a much faster built-in :deserialize command.

⚠️As of hAP AC with RouterOS 7.21.3 both solutions are capable of parsing 60KB-1byte of data. See also #1.

Usage:

# Load library (set library functions to global variables)
/system script run "JParseFunctions"; global JSONLoad; global JSONLoads; global JSONUnload

# Parse data and print `ParsedResults[0].ParsedText` value
global content "{\"ParsedResults\": [{\"ParsedText\": \"Hello, world!\"}]}"
put ([$JSONLoads $content]->"ParsedResults"->0->"ParsedText")
set content

# or load JSON from file
put ([$JSONLoad "tmp"]->"ParsedResults"->0->"ParsedText")

# Unload library (clear global variables)
$JSONUnload

Using built-in :deserialize

Since RouterOS 7.13beta Mikrotik made this project obsolete by adding :serialize and :deserialize commands for converting values to/from JSON.

# Parse data and print `ParsedResults[0].ParsedText` value
global content "{\"ParsedResults\": [{\"ParsedText\": \"Hello, world!\"}]}"
put ([deserialize from=json value=$content]->"ParsedResults"->0->"ParsedText")
set content

# or load JSON from file
put ([deserialize from=json [/file/get "tmp" contents]]->"ParsedResults"->0->"ParsedText")

Links

Releases

No releases published

Packages

 
 
 

Contributors