当前位置: 首页 > 面试题库 >

如何将db.Model对象序列化为json?

瞿子濯
2023-03-14
问题内容

使用时

from django.utils import simplejson

从其派生的类型的对象上db.Model抛出异常。如何规避呢?


问题答案:

由于找不到合适的解决方案,因此我编写了自己的解决方案,它不是一个JSON序列化器,而是一个Javascript序列化器

from google.appengine.ext import db
from google.appengine.api.datastore_types import *

def dumpStr(obj):
    return "'" + obj + "'"

def dumps(obj):
    if isinstance(obj, str):
        return dumpStr(obj)
    elif obj == None:
        return None
    elif isinstance(obj, list):
        items = [];
        for item in obj:
            items.append(dumps(item))
        return '[' + ','.join(items) + ']'
    elif isinstance(obj, datetime.datetime):
        return "new Date('%s')" % obj.ctime()
    properties = [];
    for property in dir(obj):
        if property[0] != '_':
            value = obj.__getattribute__(property)
            valueClass = str(value.__class__)
            if not(('function' in valueClass) or ('built' in valueClass) or ('method' in valueClass)):
                value = dumps(value)
                if value != None:
                    properties.append("'" + property + "':" + value)
    if len(properties) == 0:
        return str(obj)
    else:
        return '{' + ','.join(properties) + '}'


 类似资料:
  • 问题内容: 我需要将一些对象序列化为JSON并发送到WebService。如何使用org.json库?否则我将不得不使用另一个?这是我需要序列化的类: 我只放了类的变量和构造函数,但也有getter和setter方法。所以如果有人可以帮忙 问题答案: 没有注释的简单方法是使用Gson库 就那么简单:

  • 问题内容: 如何在JavaScript中将对象序列化为JSON? 问题答案: 您正在寻找。

  • 有没有办法将一般对象序列化为Json并将Json反序列化为对象<如果对象是一个实体,我可以使用Jackson 2库来实现这个目的<但是如果对象是一个普通类,我该怎么做呢? 例如,我想序列化com.datastax.driver.core.querybuilder。将更新为Json并保存到DB,然后搜索并反序列化它以更新对象,最后将其用作com.datastax.driver.core.Sessio

  • 问题内容: 我想将一个对象写入CSV文件。对于XML,我们有XStream的像这样 所以,如果我想转换对象CSV我们是否有任何这样的图书馆吗? 编辑: 我想将我的Bean列表传递给应该将Bean的所有字段都写入CSV的方法。 问题答案: 首先,序列化是将对象“按原样”写入文件。AFAIK,您不能选择文件格式和全部。序列化的对象(在文件中)具有自己的“文件格式” 如果要将对象(或对象列表)的内容写入

  • 问题内容: 我很高兴使用Newtonsoft JSON库。例如,我将从.NET对象创建一个,在这种情况下为Exception的实例(可能是子类,也可能不是子类) 现在我知道该库可以将JSON文本(即字符串)反序列化为对象 但我正在寻找的是: 显然,我可以从头回到JSON文本,然后使用反序列化功能,但这对我来说似乎是倒退的。 问题答案: 根据这篇文章,现在好多了: 文档: 将JSON转换为类型

  • 问题内容: 因此,当我偶然发现新的JsonSerializable Interface 时,我在php.net上四处徘徊,以获取有关将PHP对象序列化为JSON的信息。它只是 PHP > = 5.4,而我正在5.3.x环境中运行。 PHP <5.4如何实现这种功能? 我还没有使用JSON进行很多工作,但是我试图在应用程序中支持API层,并且将数据对象( 否则将发送到视图 )转储到JSON中将是完美