- Author:
- agusmakmun
- Posted:
- August 11, 2019
- Language:
- Python
- Version:
- Not specified
- Score:
- 1 (after 1 ratings)
function to parse the string text into json format
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # -*- coding: utf-8 -*-
from __future__ import unicode_literals
import ast
import json
def parse_json_string(text, default={}):
"""
function to parse the json string
into json parse or dict
:param `text` is the value of text model to parse.
:paran `default` is default output, eg: {}, []
:return json loads or dict.
"""
output = default
if not text:
return default
if isinstance(text, list) or isinstance(text, dict):
return text
try:
output = json.loads(text)
except json.decoder.JSONDecodeError:
try:
output = ast.literal_eval(text)
except Exception:
# invalid format
pass
if type(default) == type(output):
return output
return default
"""
from .utils import parse_json_string
class Post(models.Model):
json_data = models.TextField()
@property
def get_json_data(self):
return parse_json_string(self.json_data, default={})
"""
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 11 months, 1 week ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 11 months, 2 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 6 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 7 months ago
- Help text hyperlinks by sa2812 1 year, 7 months ago
Comments
Please login first before commenting.