Python learning notes-json Parsing Method Analysis, pythonjson
This example describes how to parse json in Python. We will share this with you for your reference. The details are as follows:
I just learned how to parse json in Python and thought it is necessary to take notes here.
I saw it in the python internal environment.
Encoding basic Python object hierarchies
>>> import json>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])'["foo", {"bar": ["baz", null, 1.0, 2]}]'>>> print json.dumps("\"foo\bar")"\"foo\bar">>> print json.dumps(u'\u1234')"\u1234">>> print json.dumps('\\')"\\">>> print json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True){"a": 0, "b": 0, "c": 0}>>> from StringIO import StringIO>>> io = StringIO()>>> json.dump(['streaming API'], io)>>> io.getvalue()'["streaming API"]'
Compact encoding ::
>>> import json>>> json.dumps([1,2,3,{'4': 5, '6': 7}], sort_keys=True, separators=(',',':'))'[1,2,3,{"4":5,"6":7}]'Pretty printing::>>> import json>>> print json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4, separators=(',', ': ')){ "4": 5, "6": 7}
Decoding JSON ::
>>> import json>>> obj = [u'foo', {u'bar': [u'baz', None, 1.0, 2]}]>>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]') == objTrue>>> json.loads('"\\"foo\\bar"') == u'"foo\x08ar'True>>> from StringIO import StringIO>>> io = StringIO('["streaming API"]')>>> json.load(io)[0] == 'streaming API'True
Specializing JSON object decoding ::
>>> import json>>> def as_complex(dct): if '__complex__' in dct: return complex(dct['real'], dct['imag']) return dct>>> json.loads('{"__complex__": true, "real": 1, "imag": 2}', object_hook=as_complex)(1+2j)>>> from decimal import Decimal>>> json.loads('1.1', parse_float=Decimal) == Decimal('1.1')True
Specializing JSON object encoding ::
>>> import json>>> def encode_complex(obj): if isinstance(obj, complex): return [obj.real, obj.imag] raise TypeError(repr(o) + " is not JSON serializable")>>> json.dumps(2 + 1j, default=encode_complex)'[2.0, 1.0]'>>> json.JSONEncoder(default=encode_complex).encode(2 + 1j)'[2.0, 1.0]'>>> ''.join(json.JSONEncoder(default=encode_complex).iterencode(2 + 1j))'[2.0, 1.0]'
You can also go to the official document to learn what you can learn!
PS: For json operations, we recommend several useful json online tools for your reference:
Online JSON code verification, validation, beautification, and formatting tools:
Http://tools.jb51.net/code/json
JSONOnline formatting tool:
Http://tools.jb51.net/code/jsonformat
Online XML/JSON conversion tools:
Http://tools.jb51.net/code/xmljson
JsonCode Online formatting/beautification/compression/editing/conversion tools:
Http://tools.jb51.net/code/jsoncodeformat
Online json compression/escape tools:
Http://tools.jb51.net/code/json_yasuo_trans
For more Python-related content, refer to this topic: python json operation skills summary, Python encoding operation skills summary, Python image operation skills summary, Python data structure and algorithm tutorial, Python Socket programming skills Summary python function usage tips summary, Python string operation tips summary, Python getting started and advanced classic tutorials, and Python file and directory operations tips Summary
I hope this article will help you with Python programming.