gpt4 book ai didi

json - 将 JSON 对象数组转换为 pyspark 中的字符串

转载 作者:行者123 更新时间:2023-12-05 04:55:21 28 4
gpt4 key购买 nike

我有一个要求,我需要根据从一个 PySpark 数据帧返回的列创建自定义 JSON。所以我写了一个像下面这样的 UDF,它将从 UDF 为每一行返回一个字符串格式的 JSON。

参数“entities”是JSON格式的数组。

def halResponse(entities, admantx, copilot_id): 
json_resp = "{\"analyzedContent\": {"+json.dumps(entities)+"}}"
return json_resp

但在响应中,我没有得到正确的 JSON,即没有得到正确的键:值对,我只是得到值(出于安全目的,实际值替换为 *),而不是键和值。

查找示例响应:

  "analyzedContents": [
{
"entities": [
[
"******",
*,
*********,
[
[
"***********",
"***********",
"***********",
[
"*****************"
],
**********
]
],
"**************"
]
]
}
]
}

请帮我解决这个问题。修复后,我应该得到以下示例响应

  "analyzedContents": [
{
"entities": [
[
"key":******",
"key":*,
"key":*********,
[
[
"key":"***********",
"key":"***********",
"key":"***********",
[
"key":"*****************"
],
"key":**********
]
],
"key":"**************"
]
]
}
]
}

最佳答案

不使用 UDF 试试这个:

import pyspark.sql.functions as F

df2 = df.withColumn(
'response',
F.concat(
F.lit("{\"analyzedContent\": {"),
F.to_json(F.col("entities")),
F.lit("}}")
)
)

关于json - 将 JSON 对象数组转换为 pyspark 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65425184/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com