導航:首頁 > 編程語言 > json轉換字典

json轉換字典

發布時間:2023-01-22 20:52:40

❶ Swift 字典轉換為jsONString JSONString轉換為字典

1、JSONString轉換為字典

/// JSONString轉換為字典

    ////// - Parameter jsonString: <#jsonString description#>/// - Returns: <#return value description#>func getDictionaryFromJSONString(jsonString:String) ->NSDictionary{

        let jsonData:Data = jsonString.data(using: .utf8)!        let dict =try? JSONSerialization.jsonObject(with: jsonData, options: .mutableContainers)

        ifdict != nil {

            returndictas! NSDictionary

        }

        return NSDictionary()

    }

2、字典轉換為JSONString

/**

    字典轉換為JSONString

    - parameter dictionary: 字典參數

    - returns: JSONString

    */func getJSONStringFromDictionary(dictionary:NSDictionary) -> String {

        if(!JSONSerialization.isValidJSONObject(dictionary)) {

            print("無法解析出JSONString")

            return""        }

        let data : NSData! =try? JSONSerialization.data(withJSONObject: dictionary, options: [])asNSData!        let JSONString = NSString(data:dataas Data,encoding: String.Encoding.utf8.rawValue)

        returnJSONString!asString

    }

❷ json數組怎麼轉python字典

Dict轉JSON寫入文件

復制代碼 代碼如下:

#!/usr/bin/env python
# coding=utf-8
import json
d = {'first': 'One', 'second':2}
json.mp(d, open('/tmp/result.txt', 'w'))

寫入結果
復制代碼 代碼如下:

cat /tmp/result.txt
{"second": 2, "first": "One"}

讀取JSON
復制代碼 代碼如下:

#!/usr/bin/env python
# coding=utf-8
import json
d = json.load(open('/tmp/result.txt','r'))
print d, type(d)

運行結果
復制代碼 代碼如下:

{u'second': 2, u'first': u'One'} <type 'dict'>

❸ python3 對象 |字典|json|yaml|字元串 相互轉化

在研究 k8s 的yaml 配置文件的時候,我總擔心自己一不小心 會寫錯,所以我嚮往 使用將對象 序列化 yaml 的形式,

其實 python object 可以 直接 轉 yaml ,甚至也可以 直接 轉成yaml文件!!!

這里 會經常用到幾個 函數 vars() ast.

我們先嘗試用最笨的方法 實現 object到yaml 的轉化
在python對象 convert to dict 的形式,使用 vars()函數

然後 dict convert to json 使用 json.mps(dict)函數

然後 json converte to yaml 使用 ya= yaml.load(json.mps(dict)) 然後
再 yaml.safe_mp(ya,default_flow_style=False)

至此我們看到 從 python Object ---> dict ----> json ---> yaml 的轉化

其中 obj dict json yaml 轉 string ,只要 str()函數即可,或者 str(vars())結合

yaml 格式 寫入到文件 ,需要注意的是, open()函數 的mode 一定要是 'w' ,不能是』wb', b代表是二進制寫入
yaml 寫入的是dict str,使用 『wb' 會報錯,[yaml TypeError: a bytes-like object is required, not 'str']
【出現該錯誤往往是通過open()函數打開文本文件時,使用了『rb』屬性,如:fileHandle=open(filename,'rb'),則此時是通過二進制方式打開文件的,所以在後面處理時如果使用了str()函數,就會出現該錯誤,該錯誤不會再python2中出現。

具體解決方法有以下兩種:

第一種,在open()函數中使用『r』屬性,即文本方式讀取,而不是『rb』,以二進制文件方式讀取,可以直接解決問題。

第二種,在open()函數中使用『rb』,可以在使用之前進行轉換,有以下實例,來自: http://stackoverflow.com/questions/33054527/python-3-5-typeerror-a-bytes-like-object-is-required-not-str 】

其實 python object 可以 直接 轉 yaml ,甚至也可以 直接 轉成yaml文件!!!
比如我已經定義了一個 Dog python class,他有 好幾個屬性 並已經賦值初始化了

另外生成 yaml 對象

生成yaml文件

結果是

反過來 yaml ----> json ---> 持久化 json 文件 indent=1屬性是為了讓 json 不以單行展示,而是展開
注意的是 python 的 dict 和set 很相似 ,都是 { }, set 里是list, dict 是鍵值對
【# set object is not JSON serializable [plicate]


打開 demo.json

yaml ---> dict

yaml ---> python object

json --> dict
json.loads()

dict--> json
json.jumps()

str ---> dict
newdict=dict(str)

json -- > python object

一個python object無法直接與json轉化,只能先將對象轉化成dictionary,再轉化成json;對json,也只能先轉換成dictionary,再轉化成object,通過實踐,源碼如下:

yaml --> python object
對yaml,也只能先轉換成json --->dictionary,再轉化成object,通過實踐,源碼如下:

dict -- ->python object

python對象 默認都有一個 私有的屬性 dict 取值 就是 object的 字典形式, 賦值就就可以給對象屬性對應賦值

例如json 轉 對象

對象 轉 json

Python之dict(或對象)與json之間的互相轉化
在Python語言中,json數據與dict字典以及對象之間的轉化,是必不可少的操作。

dict字典轉json數據

對象轉json數據

json數據轉成dict字典

json數據轉成對象

json的load()與mp()方法的使用
mp()方法的使用

❹ ios怎麼把json轉為字典或者數組

/*!
* @brief 把格式化的JSON格式的字元串轉換成字典
* @param jsonString JSON格式的字元串
* @return 返回字典
*/
+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {
if (jsonString == nil) {
return nil;
}

NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *err;
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
options:
error:&err];
if(err) {
NSLog(@"json解析失敗:%@",err);
return nil;
}
return dic;
}

❺ 字典中包含json怎麼轉換json 在線

通過eval方式進行轉換。 舉例: var str = '{a:"1"}';//定義了一個string格式 var json = eval('('+str + ')');//通過eval轉換成json對象 補充: eval加上圓括弧的目的是迫使eval函數在處理JavaScript代碼的時候強制將括弧內的表達式

閱讀全文

與json轉換字典相關的資料

熱點內容
win10系統文件缺失介質修復 瀏覽:900
怎麼樣系統升級 瀏覽:518
魔客吧傳奇網站模板 瀏覽:365
一段代碼解決html多瀏覽器兼容 瀏覽:803
淘車大師app官方下載 瀏覽:953
win10系統怎麼能找回桌面文件 瀏覽:423
換主板怎麼裝驅動程序 瀏覽:563
宜搜小說舊版本 瀏覽:310
win10凈網大師 瀏覽:262
蘋果5s移動網路設置 瀏覽:680
主文件名的格式 瀏覽:336
如何找吃的app 瀏覽:11
js判斷跳轉前的頁面地址 瀏覽:555
qq瀏覽器儲存密碼 瀏覽:309
網站字體陰影特效代碼 瀏覽:187
g10刀軌銑內腔該如何編程 瀏覽:295
泰劇用哪個app 瀏覽:503
iphone4豆瓣fm 瀏覽:921
錘子的數據轉移都轉移什麼 瀏覽:230
iphone4開機提示連接itunes 瀏覽:359

友情鏈接