【发布时间】:2018-07-13 11:28:12
【问题描述】:
我有这样的 JSON 对象:
{
"chats": [
{
"type": "chat",
"visitor": {
"id": "S1506042519.608fc390eb",
"name": "Visitor"
},
"agents": [
{
"display_name": "Agent",
"email": "agent@example.com"
}
],
"chat_start_url": "https://example.com/",
"group": [
3, 4
],
"messages": [
{
"author_name": "Agent",
"text": "Hello. How may I help you?",
"welcome_message": true
},
{
"author_name": "Visitor",
"text": "transfer me to agent"
},
{
"author_name": "Agent",
"text": "Hello. How may I help you?"
},
{
"author_name": "Visitor",
"text": "transfer me to agent"
}
]
},
{
"type": "chat",
"visitor": {
"id": "S1506042519.608fc390eb",
"name": "Visitor"
},
"agents": [
{
"display_name": "Agent",
"email": "agent@example.com"
}
],
"chat_start_url": "https://example.com/",
"group": [
3, 4
],
"messages": [
{
"author_name": "Agent",
"text": "Hello. How may I help you?",
"welcome_message": true
},
{
"author_name": "Visitor",
"text": "transfer me to agent"
}
]
}
]
}
我想将此对象写入 CSV 文件,但要使用特定格式。我想要的结果显示在这个网站上:https://json-csv.com/ 只需复制我的 JSON 即可查看,这里是快速截图:http://take.ms/p2FAI
问题是如何正确重构数组以获得这个输出:
$refactoredArray = array(
0 => array(
"chats_type",
"chats_visitor_id",
"chats_visitor_name",
"chats_agents_display_name",
"chats_agents_name",
"chats_start_url",
"chats_group_1",
"chats_group_2",
"chats_messages_author_name",
"chats_messages_text",
"chats_messages_welcome_message"
),
1 => array(
"chat",
"S1506042519.608fc390eb",
"Visitor",
"Agent",
"agent@example.com",
"https://example.com/",
3,
4,
"Agent",
"Hello. How may I help you?",
true
),
2 => array(
"",
"",
"",
"",
"",
"",
"",
"",
"Visitor",
"transfer me to agent",
""
),
3 => array(
"",
"",
"",
"",
"",
"",
"",
"",
"Agent",
"Hello. How may I help you?",
""
),
4 => array(
"",
"",
"",
"",
"",
"",
"",
"",
"Visitor",
"transfer me to agent",
""
),
5 => array(
"chat",
"S1506042519.608fc390eb",
"Visitor",
"Agent",
"agent@example.com",
"https://example.com/",
3,
4,
"Agent",
"Hello. How may I help you?",
true
),
6 => array(
"",
"",
"",
"",
"",
"",
"",
"",
"Visitor",
"transfer me to agent",
""
)
);
任何想法 :c ?我完全无法正确展平数组,因此我可以将其放入 CSV 文件中。
【问题讨论】:
-
@mickmackusa 展示我想要实现的目标的最简单方法是访问此链接:json-csv.com 然后复制粘贴我的 JSON 对象。展示比为我解释更容易:-)
-
不过,感谢您的提示!问题是我完全不知道怎么咬这个蛋糕:/
-
让我重构它以使其更小。
-
@mickmackusa 我已经更新了预期的 PHP 数组,但是我完全不知道如何从 JSON 对象转换它。我觉得答案很简单,但我无法找到正确的路径。我只是觉得愚蠢:/
-
祝你好运,现在我将尝试遵循@LeMeme 的提示。感谢您的建议!
标签: php arrays json csv flatten