diff --git a/core/Toggle JSON Format.spBundle/command.plist b/core/Toggle JSON Format.spBundle/command.plist
index 3955536..ffcbd4d 100644
--- a/core/Toggle JSON Format.spBundle/command.plist
+++ b/core/Toggle JSON Format.spBundle/command.plist
@@ -7,40 +7,20 @@
category
Format
command
- DATA=$(cat)
-
-FORMAT=$(echo "$DATA" | head -n 1 | perl -e '$l=<>;if($l=~m/^\s*\{\s*$/) {print "1";} else {print "2";}')
-
-# if FORMAT == 1 then serialize JSON data otherwise pretty print them
-if [ "$FORMAT" -eq "1" ]; then
-
- DATA=$(echo "$DATA" | php -r '
- $jsonData = "";
- $inputStream = fopen("php://stdin", "r");
- while($d = fgets($inputStream)) { $jsonData .= $d; }
- print json_encode(json_decode($jsonData));
- ')
- if [ "$DATA" == "null" ]; then
- echo "<font>An error occured while serializing JSON data!</font>"
- exit $SP_BUNDLE_EXIT_SHOW_AS_HTML_TOOLTIP
- fi
-
-else
-
- DATA=$(echo "$DATA" | python -mjson.tool)
-
-fi
-
-# if there's a need to preserve Unicode characters remove the first to characters of the following line
-# DATA=$(echo "$DATA" | perl -Xpe 'binmode STDIN,":utf8";binmode STDOUT,":utf8";s/\\u([0-9A-F]{4})/chr(hex($1))/ieg')
-
-printf "%b" "$DATA"
+ #!/usr/bin/python
+import sys
+import json
+from collections import OrderedDict
+
+try:
+ data = json.load(sys.stdin, object_hook=OrderedDict, object_pairs_hook=OrderedDict)
+ json.dump(data, sys.stdout, indent=2, sort_keys=False)
+except Exception as e:
+ sys.exit(e.message)
contact
znvy@ovovxb.qr
description
- If the first line of the selection or the entire content of the current text input field only contains a "{" then serialize the JSON data otherwise the JSON data will be pretty printed. If there's a need to preserve the Unicode characters you can uncomment the line 22.
-
-Version 1.0
+ Version 2.0
input
selectedtext
input_fallback