mirror of
https://github.com/php-win-ext/phpy.git
synced 2026-03-25 09:22:21 +01:00
104 lines
2.3 KiB
Python
104 lines
2.3 KiB
Python
import phpy
|
|
|
|
HEX_TAG = 1
|
|
HEX_AMP = 2
|
|
HEX_APOS = 4
|
|
HEX_QUOT = 8
|
|
FORCE_OBJECT = 16
|
|
NUMERIC_CHECK = 32
|
|
UNESCAPED_SLASHES = 64
|
|
PRETTY_PRINT = 128
|
|
UNESCAPED_UNICODE = 256
|
|
PARTIAL_OUTPUT_ON_ERROR = 512
|
|
PRESERVE_ZERO_FRACTION = 1024
|
|
UNESCAPED_LINE_TERMINATORS = 2048
|
|
OBJECT_AS_ARRAY = 1
|
|
BIGINT_AS_STRING = 2
|
|
INVALID_UTF8_IGNORE = 1048576
|
|
INVALID_UTF8_SUBSTITUTE = 2097152
|
|
THROW_ON_ERROR = 4194304
|
|
ERROR_NONE = 0
|
|
ERROR_DEPTH = 1
|
|
ERROR_STATE_MISMATCH = 2
|
|
ERROR_CTRL_CHAR = 3
|
|
ERROR_SYNTAX = 4
|
|
ERROR_UTF8 = 5
|
|
ERROR_RECURSION = 6
|
|
ERROR_INF_OR_NAN = 7
|
|
ERROR_UNSUPPORTED_TYPE = 8
|
|
ERROR_INVALID_PROPERTY_NAME = 9
|
|
ERROR_UTF16 = 10
|
|
ERROR_NON_BACKED_ENUM = 11
|
|
|
|
|
|
def encode(_value, _flags=0, _depth=512):
|
|
return phpy.call('json_encode', _value, _flags, _depth)
|
|
|
|
|
|
def decode(_json, _associative=None, _depth=512, _flags=0):
|
|
return phpy.call('json_decode', _json, _associative, _depth, _flags)
|
|
|
|
|
|
def last_error():
|
|
return phpy.call('json_last_error', )
|
|
|
|
|
|
def last_error_msg():
|
|
return phpy.call('json_last_error_msg', )
|
|
|
|
|
|
|
|
|
|
class JsonSerializable():
|
|
|
|
def jsonSerialize(self):
|
|
return self.__this.call(f"jsonSerialize", )
|
|
|
|
def __init__(self):
|
|
self.__this = phpy.Object(f'JsonSerializable')
|
|
|
|
def getattr(self, name):
|
|
return self.__this.get(name)
|
|
|
|
def setattr(self, name, value):
|
|
self.__this.set(name, value)
|
|
|
|
class JsonException():
|
|
|
|
def __init__(self, _message="", _code=0, _previous=None):
|
|
self.__this = phpy.Object(f'JsonException', _message, _code, _previous)
|
|
|
|
def __wakeup(self):
|
|
return self.__this.call(f"__wakeup", )
|
|
|
|
def getMessage(self):
|
|
return self.__this.call(f"getMessage", )
|
|
|
|
def getCode(self):
|
|
return self.__this.call(f"getCode", )
|
|
|
|
def getFile(self):
|
|
return self.__this.call(f"getFile", )
|
|
|
|
def getLine(self):
|
|
return self.__this.call(f"getLine", )
|
|
|
|
def getTrace(self):
|
|
return self.__this.call(f"getTrace", )
|
|
|
|
def getPrevious(self):
|
|
return self.__this.call(f"getPrevious", )
|
|
|
|
def getTraceAsString(self):
|
|
return self.__this.call(f"getTraceAsString", )
|
|
|
|
def __str__(self):
|
|
return self.__this.call(f"__toString", )
|
|
|
|
def getattr(self, name):
|
|
return self.__this.get(name)
|
|
|
|
def setattr(self, name, value):
|
|
self.__this.set(name, value)
|
|
|