Python learning notes-json Parsing Method Analysis, pythonjson

Source: Internet
Author: User

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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.