【发布时间】:2021-02-27 16:05:42
【问题描述】:
我有下面的 JSON 数据。我需要 JSON 来拆分并形成一个新的 JSON 数据对象。 我是新手,正在努力寻找解决此问题的方法。
以下 JSON 数据:
[
{
"timestamp":"2020-11-13T20:57:17.611Z",
"session_id":"eed8d600-0438-37d3-dd96-25081a91b90a",
"Telephone":"555555555",
"Name":"Mike",
"Thread":[
{
"textPayload":{
"timestamp":"2020-11-13T20:57:08.552Z",
"id":"a97809e8-3466-4404-947e-4ec89f96878b-aabf4fdf",
"status":{
"error_type":"success",
"code":200
},
"lang":"en",
"session_id":"eed8d600-0438-37d3-dd96-25081a91b90a",
"result":{
"score":1,
"action_incomplete":true,
"resolved_query":"hi",
"action":"input.welcome",
"source":"agent",
"metadata":{
"intent_name":"Default Welcome Intent",
"webhook_used":false,
"intent_id":"d06d9b61-eee2-4481-a038-bc97194d611a",
"is_fallback_intent":false,
"webhook_for_slot_filling_used":false
},
"parameters":{
"fields":{
"value":{
"string_value":""
},
"key":"name"
}
},
"contexts":{
"parameters":{
"fields":{
"key":"no-match",
"value":{
"number_value":0
}
}
},
"name":"__system_counters__",
"lifespan":1
},
"fulfillment":{
"messages":{
"type":{
"number_value":0
},
"speech":{
"string_value":"What is the name?"
}
},
"speech":"What is the name?"
}
}
},
"insertId":"1p1x1wdfgkwf2a",
"severity":"INFO",
"receiveTimestamp":"2020-11-13T20:57:08.592891686Z",
"trace":"eed8d600-0438-37d3-dd96-25081a91b90a",
"labels":{
"request_id":"a97809e8-3466-4404-947e-4ec89f96878b-aabf4fdf",
"type":"dialogflow_response",
"protocol":"V2_BETA1",
"source":"DIALOGFLOW_CONSOLE"
},
"timestamp":"2020-11-13T20:57:08.571Z",
"logName":"projects/entuber/logs/dialogflow_agent",
"resource":{
"type":"global",
"labels":{
"project_id":"entuber"
}
},
"session_id":"eed8d600-0438-37d3-dd96-25081a91b90a"
},
{
"timestamp":"2020-11-13T20:57:11.746Z",
"labels":{
"type":"dialogflow_response",
"protocol":"V2_BETA1",
"source":"DIALOGFLOW_CONSOLE",
"request_id":"70b25970-e228-41b9-9898-26d68bb67c13-aabf4fdf"
},
"resource":{
"labels":{
"project_id":"entuber"
},
"type":"global"
},
"logName":"projects/entuber/logs/dialogflow_agent",
"receiveTimestamp":"2020-11-13T20:57:11.766438485Z",
"trace":"eed8d600-0438-37d3-dd96-25081a91b90a",
"severity":"INFO",
"session_id":"eed8d600-0438-37d3-dd96-25081a91b90a",
"textPayload":{
"session_id":"eed8d600-0438-37d3-dd96-25081a91b90a",
"status":{
"code":200,
"error_type":"success"
},
"timestamp":"2020-11-13T20:57:11.728Z",
"id":"70b25970-e228-41b9-9898-26d68bb67c13-aabf4fdf",
"lang":"en",
"result":{
"contexts":{
"lifespan":50,
"parameters":{
"fields":{
"value":{
"string_value":"sam"
},
"key":"name.original"
}
},
"name":"name"
},
"action":"input.welcome",
"resolved_query":"sam",
"fulfillment":{
"speech":"Hi, I'm Tara. I've been modified to tell you what your bills are. Ask me for your current bill and I'll tell you how much you have to pay and when it's due. Make sure you know the account number though.",
"messages":{
"speech":{
"string_value":""
},
"lang":"en",
"type":{
"number_value":0
}
}
},
"parameters":{
"fields":{
"key":"name",
"value":{
"string_value":"Sam"
}
}
},
"metadata":{
"intent_name":"Default Welcome Intent",
"is_fallback_intent":false,
"intent_id":"d06d9b61-eee2-4481-a038-bc97194d611a",
"webhook_for_slot_filling_used":false,
"webhook_used":false
},
"source":"agent",
"score":1
}
},
"insertId":"1orjxuhfg78gle"
},
]
},
{
"session_id":"TestTaraSession",
"timestamp":"2020-11-16T06:17:37.536Z",
"Thread":[
{
"resource":{
"type":"global",
"labels":{
"project_id":"entuber"
}
},
"insertId":"ftk71rg38zc3de",
"trace":"TestTaraSession",
"logName":"projects/entuber/logs/dialogflow_agent",
"labels":{
"type":"dialogflow_response",
"request_id":"1fd35e1d-7830-4606-937d-b8685dde0129-aabf4fdf",
"protocol":"V2_BETA1"
},
"severity":"INFO",
"timestamp":"2020-11-16T06:16:50.421Z",
"session_id":"TestTaraSession",
"receiveTimestamp":"2020-11-16T06:16:50.45315191Z",
"textPayload":{
"status":{
"error_type":"success",
"code":200
},
"id":"1fd35e1d-7830-4606-937d-b8685dde0129-aabf4fdf",
"lang":"en",
"session_id":"TestTaraSession",
"result":{
"score":1,
"parameters":{
"fields":{
"value":{
"string_value":""
},
"key":"name"
}
},
"metadata":{
"intent_id":"d06d9b61-eee2-4481-a038-bc97194d611a",
"is_fallback_intent":false,
"webhook_used":false,
"intent_name":"Default Welcome Intent",
"webhook_for_slot_filling_used":false
},
"action":"input.welcome",
"contexts":{
"lifespan":1,
"name":"__system_counters__",
"parameters":{
"fields":{
"value":{
"number_value":0
},
"key":"no-match"
}
}
},
"action_incomplete":true,
"fulfillment":{
"messages":{
"type":{
"number_value":0
},
"speech":{
"string_value":"What is the name?"
}
},
"speech":"What is the name?"
},
"source":"agent",
"resolved_query":"WELCOME"
},
"timestamp":"2020-11-16T06:16:50.408Z"
}
},
{
"session_id":"TestTaraSession",
"timestamp":"2020-11-16T06:17:08.746Z",
"insertId":"1ggf79rg3d2lksr",
"labels":{
"protocol":"V2_BETA1",
"type":"dialogflow_response",
"request_id":"ff18d72b-5fbc-4e44-a52d-f987d0d59d9d-aabf4fdf"
},
"logName":"projects/entuber/logs/dialogflow_agent",
"receiveTimestamp":"2020-11-16T06:17:08.756453598Z",
"trace":"TestTaraSession",
"textPayload":{
"session_id":"TestTaraSession",
"lang":"en",
"result":{
"contexts":{
"parameters":{
"fields":{
"value":{
"string_value":"Tara"
},
"key":"name.original"
}
},
"lifespan":50,
"name":"name"
},
"metadata":{
"intent_id":"d06d9b61-eee2-4481-a038-bc97194d611a",
"is_fallback_intent":false,
"webhook_used":false,
"webhook_for_slot_filling_used":false,
"intent_name":"Default Welcome Intent"
},
"parameters":{
"fields":{
"value":{
"string_value":"Tara"
},
"key":"name"
}
},
"action":"input.welcome",
"source":"agent",
"score":1,
"fulfillment":{
"messages":{
"lang":"en",
"speech":{
"string_value":""
},
"type":{
"number_value":0
}
},
"speech":"Hi, I'm Tara. I've been modified to tell you what your bills are. Ask me for your current bill and I'll tell you how much you have to pay and when it's due. Make sure you know the account number though."
},
"resolved_query":"Tara"
},
"timestamp":"2020-11-16T06:17:08.742Z",
"status":{
"error_type":"success",
"code":200
},
"id":"ff18d72b-5fbc-4e44-a52d-f987d0d59d9d-aabf4fdf"
},
"severity":"INFO",
"resource":{
"labels":{
"project_id":"entuber"
},
"type":"global"
}
},
{
"trace":"TestTaraSession",
"receiveTimestamp":"2020-11-16T06:17:17.973535789Z",
"logName":"projects/entuber/logs/dialogflow_agent",
"textPayload":{
"lang":"en",
"timestamp":"2020-11-16T06:17:17.943Z",
"result":{
"score":0.686966,
"parameters":{
"fields":{
"value":{
"string_value":""
},
"key":"accountNo"
}
},
"action":"com.tara.bills",
"metadata":{
"intent_id":"5ff968ab-3646-4abe-ae7e-93203997e5fb",
"webhook_used":true,
"webhook_for_slot_filling_used":false,
"intent_name":"Read Bill",
"is_fallback_intent":false
},
"resolved_query":"Bill details",
"action_incomplete":true,
"source":"agent",
"fulfillment":{
"messages":{
"speech":{
"string_value":"What is your account number?"
},
"type":{
"number_value":0
}
},
"speech":"What is your account number?"
},
"contexts":{
"parameters":{
"fields":{
"key":"no-match",
"value":{
"number_value":0
}
}
},
"name":"__system_counters__",
"lifespan":1
}
},
"id":"ab128f85-0044-42ba-ae8a-c77d0905d972-aabf4fdf",
"status":{
"error_type":"success",
"code":200
},
"session_id":"TestTaraSession"
},
"severity":"INFO",
"session_id":"TestTaraSession",
"resource":{
"labels":{
"project_id":"entuber"
},
"type":"global"
},
"timestamp":"2020-11-16T06:17:17.965Z",
"insertId":"dc02v6g3eo2vya",
"labels":{
"type":"dialogflow_response",
"protocol":"V2_BETA1",
"request_id":"ab128f85-0044-42ba-ae8a-c77d0905d972-aabf4fdf"
}
},
{
"textPayload":{
"session_id":"TestTaraSession",
"status":{
"error_type":"success",
"code":200
},
"result":{
"metadata":{
"webhook_used":false,
"intent_name":"Read Bill",
"webhook_response_time":3334,
"intent_id":"5ff968ab-3646-4abe-ae7e-93203997e5fb",
"is_fallback_intent":false,
"webhook_for_slot_filling_used":false
},
"contexts":{
"name":"defaultwelcomeintent-followup",
"lifespan":1,
"parameters":{
"fields":{
"value":{
"string_value":"Tara"
},
"key":"name.original"
}
}
},
"source":"agent",
"action":"com.tara.bills",
"fulfillment":{
"speech":"Your current bill of $2927.62 is due on 10/19/2020.",
"messages":{
"speech":{
"string_value":"Your current bill of $2927.62 is due on 10/19/2020."
},
"type":{
"number_value":0
}
}
},
"score":1,
"parameters":{
"fields":{
"value":{
"number_value":21012875
},
"key":"accountNo"
}
},
"resolved_query":21012875
},
"lang":"en",
"id":"1d3df1d2-1753-48fc-948e-7fc91473d055-aabf4fdf",
"timestamp":"2020-11-16T06:17:34.184Z"
},
"insertId":"1def6i1g15mb48l",
"labels":{
"protocol":"V2_BETA1",
"request_id":"1d3df1d2-1753-48fc-948e-7fc91473d055-aabf4fdf",
"type":"dialogflow_response"
},
"receiveTimestamp":"2020-11-16T06:17:37.548546643Z",
"timestamp":"2020-11-16T06:17:37.536Z",
"severity":"INFO",
"resource":{
"type":"global",
"labels":{
"project_id":"entuber"
}
},
"session_id":"TestTaraSession",
"trace":"TestTaraSession",
"logName":"projects/entuber/logs/dialogflow_agent"
}
]
},
{
"timestamp":"2020-11-16T06:29:14.564Z",
"session_id":"9b86412b-ec2d-39c0-7cbc-7a44a74a8804",
"Thread":[
{
"timestamp":"2020-11-16T06:29:01.638Z",
"session_id":"9b86412b-ec2d-39c0-7cbc-7a44a74a8804",
"logName":"projects/entuber/logs/dialogflow_agent",
"severity":"INFO",
"insertId":"1httvn0g2nj3fae",
"labels":{
"request_id":"94ec1661-d472-4ef0-a7bd-d85e22062e4d-aabf4fdf",
"protocol":"V2_BETA1",
"type":"dialogflow_response",
"source":"DIALOGFLOW_CONSOLE"
},
"trace":"9b86412b-ec2d-39c0-7cbc-7a44a74a8804",
"resource":{
"labels":{
"project_id":"entuber"
},
"type":"global"
},
"textPayload":{
"status":{
"error_type":"success",
"code":200
},
"session_id":"9b86412b-ec2d-39c0-7cbc-7a44a74a8804",
"result":{
"resolved_query":"hello",
"contexts":{
"parameters":{
"fields":{
"key":"no-match",
"value":{
"number_value":0
}
}
},
"lifespan":1,
"name":"__system_counters__"
},
"score":1,
"action_incomplete":true,
"fulfillment":{
"messages":{
"speech":{
"string_value":"What is the name?"
},
"type":{
"number_value":0
}
},
"speech":"What is the name?"
},
"action":"input.welcome",
"metadata":{
"is_fallback_intent":false,
"intent_id":"d06d9b61-eee2-4481-a038-bc97194d611a",
"webhook_for_slot_filling_used":false,
"webhook_used":false,
"intent_name":"Default Welcome Intent"
},
"parameters":{
"fields":{
"key":"name",
"value":{
"string_value":""
}
}
},
"source":"agent"
},
"id":"94ec1661-d472-4ef0-a7bd-d85e22062e4d-aabf4fdf",
"timestamp":"2020-11-16T06:29:01.596Z",
"lang":"en"
},
"receiveTimestamp":"2020-11-16T06:29:01.64859801Z"
},
{
"severity":"INFO",
"receiveTimestamp":"2020-11-16T06:29:07.676213264Z",
"resource":{
"type":"global",
"labels":{
"project_id":"entuber"
}
},
"insertId":"13ojz2yg2npq0nk",
"labels":{
"source":"DIALOGFLOW_CONSOLE",
"type":"dialogflow_response",
"request_id":"896b6d41-fe8b-4123-ba68-07004435db42-aabf4fdf",
"protocol":"V2_BETA1"
},
"timestamp":"2020-11-16T06:29:07.667Z",
"logName":"projects/entuber/logs/dialogflow_agent",
"trace":"9b86412b-ec2d-39c0-7cbc-7a44a74a8804",
"textPayload":{
"status":{
"error_type":"success",
"code":200
},
"timestamp":"2020-11-16T06:29:07.62Z",
"lang":"en",
"result":{
"contexts":{
"lifespan":50,
"name":"name",
"parameters":{
"fields":{
"key":"name.original",
"value":{
"string_value":"tara"
}
}
}
},
"source":"agent",
"resolved_query":"tara",
"score":1,
"action":"input.welcome",
"fulfillment":{
"messages":{
"lang":"en",
"speech":{
"string_value":""
},
"type":{
"number_value":0
}
},
"speech":"Can I have your name?"
},
"parameters":{
"fields":{
"key":"name",
"value":{
"string_value":"Tara"
}
}
},
"metadata":{
"webhook_for_slot_filling_used":false,
"is_fallback_intent":false,
"intent_id":"d06d9b61-eee2-4481-a038-bc97194d611a",
"intent_name":"Default Welcome Intent",
"webhook_used":false
}
},
"id":"896b6d41-fe8b-4123-ba68-07004435db42-aabf4fdf",
"session_id":"9b86412b-ec2d-39c0-7cbc-7a44a74a8804"
},
"session_id":"9b86412b-ec2d-39c0-7cbc-7a44a74a8804"
}
]
}
]
必须对输入 JSON 数据中的所有 session_id 值执行此操作。
它必须形成所有 JSON 数据以迭代并在另一个 HTML 中显示。
我在这里很困惑,旨在获得以下信息:
示例输出:
[
{
"session_id":"eed8d600-0438-37d3-dd96-25081a91b90a",
"timestamp":"2020-11-13T20:57:17.611Z",
"labels":{
"request_id":"a97809e8-3466-4404-947e-4ec89f96878b-aabf4fdf",
"type":"dialogflow_response",
"protocol":"V2_BETA1",
"source":"DIALOGFLOW_CONSOLE"
},
"Thread":[
{
"speech":"What is the name?",
"timestamp":"2020-11-13T20:57:08.552Z",
"id":"a97809e8-3466-4404-947e-4ec89f96878b-aabf4fdf"
}
]
}
]
对于所有 session_id 值,我需要得到与上述类似的结果。
【问题讨论】:
-
需要什么输出? session_id 至少在三个不同的“级别”中,您需要提供示例输出
-
可以使用 JSON.PARSE developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
-
@Bravo 我已经在问题中添加了输出示例,您可以查看一下吗?
-
另外两个顶级 session_id 呢,为什么它们在输出中被忽略了?
-
你可以看到三个顶级 session_id 我需要这三个只是显示我需要来自 session_id 的数据。@Bravo
标签: javascript jquery node.js arrays json