1. 程式人生 > >Python複雜物件轉json字串

Python複雜物件轉json字串

將一個物件陣列轉為json字串,使用json.dumps()方法,比如下面的物件:

class Person:

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return json.dumps({
            'name': self.name,
            'age': self.age
        })
print Person('zhangsan', 26)

但是執行程式碼時報錯如下:

TypeError: ('zhangsan', 26) is not JSON serializable

經查閱資料,發現複雜物件在轉為json字串的時候,需要重寫物件的__repr__方法,並修改json.dumps()方法的引數,具體程式碼如下:

import json

class Person:

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return json.dumps({
            'name'
: self.name, 'age': self.age }) def __repr__(self): return repr((self.name, self.age)) print json.dumps(Person('zhangsan', 26), default=lambda o: o.__dict__, sort_keys=True)

修改後執行程式碼,得到正確的結果:

{"age": 26, "name": "zhangsan"}

相關推薦

Python複雜物件json字串

將一個物件陣列轉為json字串,使用json.dumps()方法,比如下面的物件: class Person: def __init__(self, name, age):

物件JSON字串

JSON.stringify()【從一個物件中解析出字串】 var data = {"nums": 1, "zsuser_id":2,'order_id':3};   //原資料var dataString=JSON.stringify(data);   //解析轉換

java 物件JSON字串 $ref 錯誤

顧名思義,這個是物件轉Json時,發生的引用錯誤。 比較簡單的方法是: 使用 幫助方法 https://blog.csdn.net/hanjun0612/article/details/83008500 ListModel2.setList(DozerMapperUtil.map

gson小試牛刀——複雜物件JSON字串相互轉化

好久沒有寫過Java的程式碼了,之所以寫這個題目,是因為同事的遇到的一個疑問,半小時內恢復功力,將其解決掉。 這裡所說的複雜物件是那種屬性是另外一個型別的類。 下面的例子使用gson,將java物件

物件Json字串時,忽略指定屬性

1、FastJson轉Json字串時,忽略指定屬性 1.1使用註解@JSONField 以下Bean package com.gomefinance.esign; import com.alibab

JAVA Json字串POJO物件 POJO物件JSON字串 ListJSON JSONList

以下是Json字串轉POJO物件  POJO物件轉JSON字串 List轉JSON JSON轉List的工具類,類中有例子可參照:package cn.rojao.utils;import java.util.List;import cn.rojao.entity.stat.

js解析json陣列+java物件json字串

function checkoutUserlist(){ // js 解析json陣列 var statuslist = [{"isAvailabe":"1","name":"pacoson"}

Python物件json【包括巢狀物件json,django的modeljson

背景: 給app寫介面時經常會遇到將一個model轉為json返回。 問題: 網上也有類似方法,只是搜尋結果多少有些問題,總是搜了好一會兒才找到合適的方法,另外,網上更多集中的只是簡單些的物件,對於複雜的物件,還是不容易找到好的方式。 方案(python3.6): 1

fastjson 物件 json 輸出順序不是model 的屬性順序,而是字母順序,希望按model的屬性出現順序生成json字串

物件在轉json字串的時候,輸出的字串順序和model的屬性的順序不一致。 這個是對model不進行任何操作的情況下,直接去物件轉json,然後輸出的結果,可以看到key是按照字母順序先後輸出的。 這個是對model的屬性添加了@JsonField註解之後的效果。輸出的json字串

springmvc之Jackson實現po物件Json字串的互

因為springmvc支援json格式資料轉化使用的是jackson的包,所以今天研究了使用jackson包封裝實現po物件魚json字串的互轉,當然大家也可以使用阿里巴巴的開源包fastjson包 一、準備 如果你需要使用jackson,你必須得匯入相應的

fastjson-1.2.21 使用例項,複雜巢狀Java物件json物件複雜巢狀json物件對應Java物件的程式碼實現

理論我就不多廢話了,直接看程式碼吧。使用的是fastjson-1.2.21版本的來實現下面程式碼的。 主要是實現複雜的巢狀的Java物件,也就是物件巢狀物件的複雜物件,轉換成json字串。然後就是反過來,把複雜的json字串轉換成對應的巢狀的Java物件。 先上工具類。如下

java物件json字串

場景:java物件與json字串互轉換 1.本例使用com.alibaba.fastjson.JSON類 2.實體物件轉換為json字串 public static String toJSONString(Object city) { String jsonStr = ""; if (c

Json物件Json字串(4種轉換方式)

1.jQuery外掛支援的轉換方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字串轉換成json物件 2.瀏覽器支援的轉換方式(Firefox,chrome,opera,s

json物件json字串,ajax各常見函式

1、使用jquer外掛支援的轉換方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字串轉換成json物件 2、瀏覽器支援的轉換方式: JSON.parse(jsonstr); //可以將json字

探索java與安卓中json物件json字串之間的關係

  前段時間一直在跟json資料打交道,從一開始的什麼都不懂,到現在整合了許多知識的懵懂,還是收穫了不少對於json格式資料新的看法和安卓資料傳輸的理解。   首先,json資料的格式是什麼樣的呢?我們來定義一個字串型別的json資料。  String json

Json物件Json字串的轉化

1.jQuery外掛支援的轉換方式:   $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字串轉換成json物件   2.瀏覽器支援的轉換方式(Firefox,chrome,opera,safari,ie9,ie8)等瀏覽器

C 物件JSON字串互相轉換的幾種方式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

fastDFS+LibreOffice多檔案上傳(二)後端部分:檔案資訊json字串儲存資料庫(Gson和org.json兩種方式)

需要注意的地方: 1)如果你複製我的程式碼到你的程式上報錯,可以看看我第一篇文章實體類跟配置檔案的設定:https://blog.csdn.net/qq_36688143/article/details/84162924 第二篇檔案上傳前端頁面的程式碼: https://blog.c

JSON物件JSON字串之間的轉換

JSON物件轉JSON字串 var obj = {"a":"1", "b":[{"c":"3"},{"d":"4"}]}; var str = JSON.stringify(obj); JSON字串轉JSON物件 var str = '{"a":"1","b":[{"

JSON物件JSON字串之間的轉換

JavaScript中:         JSON物件轉JSON字串(推薦) [html]  view plain  copy