取消
顯示的結果
而不是尋找
你的意思是:

類型的對象bool_不是JSON序列化

Braxx
因素二世

我正在做一個數據幀的轉換到嵌套dict / json。一列稱為“Problematic__c”是布爾類型。

出於某種原因,json索取不接受這個數據類型錯誤:“bool_不是json序列化類型的對象”

我需要這個布爾這個json之後注入Salesforce通過API。我可以易使其字符串,但目的地對象接受布爾。

這是一個python代碼:

all_rows = len(數據)y =[]我的範圍(all_rows): x = dict(數據。iloc[我,2:])x (“Account__r”) = dict類型(數據。iloc [i: 1]) x (“Product_Master__r”) = dict類型(數據。iloc[1:2]我)y.append (x) y = json.dumps (y)

這是預期的輸出:

[{“Recommended_Action__c”:“Z”采取行動,“Extra_Information_JSON__c”:“[{\“\”: \“行動\”,\“價值\”,\“驗證人remplissage \”},{\“\”: \“股票能用的\”,\“價值\”,\“18 \”}]”、“Flag__c”:“Ponctuel破裂”,“Problematic__c”:真的,“Value__c”: 5800.0,“Source_Id__c”:“538.0”,“Batch__c”:“a2e7Y110000dO6WQAU”、“Account__r”: {“Code__c”:“00001 - b”},“Product_Master__r”: {“EAN_Code__c”:“1111111111.0”}}, {....}。.....]

數據幀被稱為“數據”結構與樣本值如下:

“Code__c”:“00001 - b”“EAN_Code__c”:“1111111111.0”“Recommended_Action__c”:“Z”采取行動,“Extra_Information_JSON__c”:“[{\“\”, \“行動\”,\“價值\”,\“驗證人remplissage \”},{\“\”: \“股票能用的\”,\“價值\”,\“18 \”}]”、“Flag__c”:“Ponctuel破裂”,“Problematic__c”:真的,“Value__c”: 5800.0,“Source_Id__c”:“538.0”,“Batch__c”:“a2e7Y110000dO6WQAU”、“Code__c”:“00001 - b”“EAN_Code__c”:“1111111111.0”

1接受解決方案

接受的解決方案

Dan_Z
尊敬的貢獻者

你可以使用“to_json”來實現這一目標。這是一個例子:

從pyspark。sql從pyspark.sql進口行。從pyspark.sql進口*類型。功能導入to_json數據=[(1、行(Code__c =“00001 - b”, EAN_Code__c = " 1111111111.0 ", Extra_Information_JSON__c = "[{\“\”: \“行動\”,\“價值\”,\“驗證人remplissage \”},{\“\”: \“股票能用的\”,\“價值\”,\“18 \”}]”,Flag__c =“Ponctuel破裂”,Problematic__c = True))) df =火花。createDataFrame(數據,(“關鍵”、“價值”))顯示(df.select (to_json (df.value) .alias (json)))

這隻是一個例子,你在正確的方向上,你可能需要適應特定的輸入格式。這是為了在一個磚筆記本運行,否則最後的“顯示”將不會工作。

在原帖子查看解決方案

7回複7

Kaniz
社區經理
社區經理

你好@Braxx!我的名字叫Kaniz,我這裏的技術主持人。很高興認識你,謝謝你的問題!看看你的同行在社區中有一個回答你的問題。否則我將盡快給你回電。謝謝。

Hubert_Dudek1
尊敬的貢獻者三世

嗨我有類似的問題與布爾,但出口到不同的數據格式。

  • 請盡量寫json直接從dataframe沒有dict和循環(所有需要轉換可以通過dataframe):
df2 = df1.select (df1。Account__r df1.Product_Master__r) df2.coalesce (1) .write.format (json) .save(' /道路/ file_name.json ')

謝謝但不確定我如何“寫json直接從dataframe沒有dict和循環”。

df1。Account__r或df1。產品_Master__r simply won't work as there are no such objects as "Account__r " or "Product_Master__r" in a dataframe. That's why I used dict to create it.

Hubert_Dudek1
尊敬的貢獻者三世

您可以使用內置的火花函數實現通過改變dataframe等等。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map