python3.2 분석 JSON
{ "programmers": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" },
{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }
],
"authors": [
{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
],
"musicians": [
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
] }
도구 클래스 CommonUtil.py
#!/usr/bin/python
#__*__coding:utf-8__*__
"""
----
"""
def print_lines(char='*', num=30) :
print(char * num)
"""
"""
def merge_lines(filePath):
data = (x.strip() for x in open(filePath))
return "".join(data)
if __name__ == "__main__" :
line = merge_lines(r"f:/json.txt")
print(line)
해석 클래스 my_json_parser.py
#!/usr/bin/python
#__*__coding:utf-8__*__
"""
My JSON Parser
"""
import json
import CommonUtil
"""
"""
def method_one():
lines = CommonUtil.merge_lines(r'F:\json.txt')
data = json.dumps(lines, sort_keys=True)
# ???
json_obj = json.JSONDecoder().decode(data)
json_obj = json.JSONDecoder().decode(json_obj)
for obj in json_obj :
first_level_obj = json_obj[obj]
for prop in first_level_obj :
print(prop)
for _prop in prop :
print("%s=%s" % (_prop, prop[_prop]))
CommonUtil.print_lines()
"""
"""
def method_two():
lines = CommonUtil.merge_lines(r'F:\json.txt')
json.loads(lines, object_pairs_hook=cls_hook)
def cls_hook(dct):
print(dct)
for k,v in dct:
print("%s=%s" % (k, v))
CommonUtil.print_lines()
if __name__ == '__main__':
# method_one()
method_two()
기타: 자세히 보기http://docs.python.org/2/library/json.html
#!/usr/bin/python
#__*__coding:utf-8__*__
import json
from io import StringIO
import decimal
# dumps
def _dumps():
data = json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
sorted_data = json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True)
print(data)
print(sorted_data)
# Serialize ``obj`` as a JSON formatted stream to ``fp``
def _dump():
io = StringIO()
json.dump(['streaming API'], io)
print(io.getvalue())
# Compact encoding:
def compact_encoding():
print(json.dumps([1, 2, 3, {'4': 5, '6': 7}], separators=(',', ':')))
#Pretty printing
def pretty_printing():
print(json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4))
#Decoding JSON
def decoding_json():
print(json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]'))
io = StringIO('["streaming API"]')
print(json.load(io))
def as_complex(dct):
if '__complex__' in dct:
return complex(dct['real'], dct['imag'])
return dct
#Specializing JSON object decoding:
def special() :
print(json.loads('{"__complex__": true, "real": 1, "imag": 2}', object_hook=as_complex))
print(json.loads('1.1', parse_float=decimal.Decimal))
print(json.dumps(2 + 1j, cls=ComplexEncoder))
print(list(ComplexEncoder().iterencode(2 + 1j)))
class ComplexEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, complex):
return [obj.real, obj.imag]
return json.JSONEncoder.default(self, obj)
if __name__ == '__main__':
_dumps()
_dump()
compact_encoding()
pretty_printing()
decoding_json()
special()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.