• Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!

    Now, what are you waiting for? Join the community now!

[!NOTE]
Huge thanks to the guys who continue to diligently report bugs and test limits to the world of json - SkJson
@ExCorde
>
Big Shout Out to Them!

What's Changed
* Update 4.0 by @cooffeeRequired in https://github.com/cooffeeRequired/skJson/pull/98


Full Changelog: https://github.com/cooffeeRequired/skJson/compare/3.0.91...4.0
Full Changelog: https://github.com/cooffeeRequired/skJson/compare/3.0.7...3.0.91

[!IMPORTANT]
## BugFixes

[!NOTE]
Huge thanks to the guys who continue to diligently report bugs and test limits to the world of json - SkJson
@TrasonCo
@Val-K
@RlmUwU
>
Big Shout Out to Them!
Full Changelog: https://github.com/cooffeeRequired/skJson/compare/3.0.6...3.0.7

[!IMPORTANT]
## BugFixes
##### 1. Bug regarding bad parsing of nbt https://github.com/cooffeeRequired/skJson/issues/90
Code:
[quote][/quote]command /addtrade:
[quote][/quote]   permission: OP
[quote][/quote]   trigger:
[quote][/quote]      set {_jt} to json from file "plugins/SkJson/test.json" # this is my json file
[quote][/quote]       set {_slot0} to full nbt compound of slot 0 of player
[quote][/quote]       set {_slot1} to full nbt compound of slot 1 of player
[quote][/quote]       set {_slot2} to full nbt compound of slot 2 of player
[quote][/quote]       set {_n} to 0
>
[quote][/quote]       send {_jt} with pretty print to console
>
[quote][/quote]       write {_jt} to json file "plugins/SkJson/trader.json"
[quote][/quote]       loop values "trade::%{[i]n}%" of {[/i]jt}:
[quote][/quote]           send json-key to console
[quote][/quote]           set value of json object "trade::0::%{[i]n}%::0::nbt" in {[/i]jt} to {_slot0}
[quote][/quote]           set value of json object "trade::0::%{[i]n}%::1::nbt" in {[/i]jt} to {_slot1}
[quote][/quote]           set value of json object "trade::0::%{[i]n}%::2::nbt" in {[/i]jt} to {_slot2}
[quote][/quote]       write {_jt} to json file "plugins/SkJson/trader.json"
[quote][/quote]
>
At this point the nbt are converted successfully to the Object
Code:
[quote][/quote]         "nbt": {
[quote][/quote]          "..": "com.shanebeestudios.skbee.api.nbt.NBTContainer",
[quote][/quote]           "nbt": "{Count:1b,id:\"minecraft:stone\",tag:{CustomModelData:222,Damage:222,Enchantments:[{id:\"aqua[i]affinity\",lvl:1},{id:\"binding[/i]curse\",lvl:1},{id:\"vanishing_curse\",lvl:1}],RepairCost:2222,Tags:[\"Test\",\" test2\",\" test\"],display:{Lore:['[{\"text\":\"asdasdasdasd\",\"italic\":false}]'],Name:'[{\"text\":\"asdasdasd\",\"italic\":false}]'}}}"
[quote][/quote]         }
[quote][/quote]
##### 2. Bug regarding to wrong parsed http headers
Sometime could happen the Content-Type headers was broken, missing space or basically sending body to the GET request
That is already fixed, all headers could be used no matter what.
>
##### 3. Bug regarding to response types (JsonArray or Plain/Text)
The response of type JsonArray or Plain/Text was ignored, that's already fixed and sanitized!


[!NOTE]
## Add
##### ~ as path identifier of plugins/Skript/scripts
#### Example
Code:
[quote][/quote]on load:
[quote][/quote]   set {_file} to json from file "~/test.json"
[quote][/quote]   new json file "~/raw.json"
[quote][/quote]   send {_file}
[quote][/quote]
>
So the file will be created in the plugins/Skript/scripts

[!NOTE]
Huge thanks to the guys who continue to diligently report bugs and test limits to the world of json - SkJson
@PEX666
@kubaczak
@Boxic
@kitoxis
@DRAGNIL68
>
Big Shout Out to Them!
Full Changelog: https://github.com/cooffeeRequired/skJson/compare/3.0.5...3.0.6
[!IMPORTANT]
Fix reading json arrays from web requests.
Full Changelog: https://github.com/cooffeeRequired/skJson/compare/3.0.4...3.0.5

[!IMPORTANT]
Fix permission escalation for skjson command, now you need to have permission node skjson.use or op
Full Changelog: https://github.com/cooffeeRequired/skJson/compare/3.0.3...3.0.4

[!IMPORTANT]
## BugFixes
### 1. Bug regarding on editing files. with effect edit
>
Code:
[quote][/quote]command changefile:
>	trigger:
>		edit value "type" of json file "plugins/Skript/scripts/test.json" to "DIAMOND"
[quote][/quote]`
###### Before
Code:
[quote][/quote]changefile
[quote][/quote][08:28:42 INFO]: [SkJson] WARN Cannot create a file plugins/Skript/scripts/test.json cause the file already exists.
[quote][/quote]
#### 2. Bug regarding on sending web request on authorized apis (google, icloud, crypto stuff, and more)
What's Changed
* Switch from json serializaton to custom adapters by @SkJsonTeam in https://github.com/SkJsonTeam/skJson/pull/85
* Switch from json serializaton to custom adapters by @cooffeeRequired in https://github.com/SkJsonTeam/skJson/pull/89


Full Changelog: https://github.com/SkJsonTeam/skJson/compare/3.0.1...3.0.3


[!IMPORTANT]
## BugFixes
##### 1. Bug regarding bad encoding of ASCII characters https://github.com/SkJsonTeam/skJson/issues/88
Code:
[quote][/quote]local function ASCIISymbolsFix2[i]26[/i]24():
>	set {_json} to json from file "./plugins/Scripts/test.json"
>	send json from "»»»" to console
>	send {_json} with pretty print to console
[quote][/quote]
At this point the json file returned "B»B»B»" for some it was ~A"~A"~A"
This is already fixed.
>
##### 2. Bug regarding to completed resource handling for requests discord
Code:
[quote][/quote]local function requestSyncFix2[i]26[/i]24() :: object:
>	set {_request} to prepare new GET request on "https://raw.githubusercontent.com/SkJsonTeam/skJson/main/skjson.json"
>	set {_request}'s request content to @{"A": true}
>	set {_request}'s headers to @{"Content-Type": "application/json+vhd"}
>	sync send prepared {_request}
>
>	if response status of {_request} is "OK":
>		return response content of {_request}
[quote][/quote]
Fixed for now, working with web request is always meh, but if you really need to use synchronous request you can now use [:sync] (send|execute) [prepared] %request%
>
##### 3. Bug regarding to wrong parsing for value of %json% https://github.com/SkJsonTeam/skJson/issues/86
Now fully fixed
>
##### 4. Bug regarding to FileWriting https://github.com/SkJsonTeam/skJson/issues/84
Writing and formatting was handled by one method, which was not properly checked now fixed
>

[!NOTE]
Huge thanks to the guys who continue to diligently report bugs and test limits to the world of json - SkJson
@Envizar
@kubaczak
@ExCorde
@ImNotStable
@Pumkinhead
@MinecraftNight4
>
Big Shout Out to Them!
  • Like
Reactions: Envizar
Fix broken save json %string% For example, the operations for linking a file were error, fix (save json "..."), that will handle in the newest Skript version as World.
Fix cache - cache will be keep until reload/restart your server



Full Changelog: https://github.com/SkJsonTeam/skJson/compare/3.0.1...3.0.2-IO
Change from Effect to AsyncEffect to process asynchronous operations exactly as expected. For example, the operations for linking a file were error

Full Changelog: https://github.com/SkJsonTeam/skJson/compare/3.0.0...3.0.1
Major updates to SkJson (breaking changes!)

Internal API has been changed for the latest version only Skript 2.8+ is supported, also requests have been changed, now they are more skript friendly from
Code:
on script load:
    async make POST request to "https://dummyjson.com/carts/add":
        headers: "Content-Type: application/json"
        content: json from text "{userId: 1, products: [{id: 1, quantity: 1}, {id: 50, [quote][/quote]quantity: 2}]}"
        save incorrect response: true
        lenient: true
        save:
            content: {-content}
            headers: {-header}
            status code: {-code}
            url: {-url}
At @Requests
Code:
    set {_request} to prepare new GET request on "https://raw.githubusercontent.com/SkJsonTeam/skJson/main/skjson.jsonn"
    set {_request}'s request content to @{"A": true}
    set {_request}'s headers to @{"Content-Type": "application/json+vhd"}
    send prepared {_request}

    if response status is "OK":
        send response status code of {_request}
        send response content of {_request}
        send response status code of {_request}
        send response headers of {_request}
webhooks will be updated in future versions..
Supplied
- https://skjson.xyz/documentation/latest#expression-IndexListObject
- https://skjson.xyz/documentation/latest#expression-AllJsonInFolder

Modified algorithm for parsing a string to a Key Structure. Faster file processing. Fixed working with files.. now files are locked only if really used.

Finished single line literal json.

What's Changed
* 3.0.0 pre by @SkJsonTeam in https://github.com/SkJsonTeam/skJson/pull/83


Full Changelog: https://github.com/SkJsonTeam/skJson/compare/2.9.7...3.0.0