You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
203 lines
20 KiB
203 lines
20 KiB
import csv |
|
import json |
|
from io import StringIO |
|
import pymysql |
|
from pymysql.cursors import DictCursor |
|
|
|
s = """ |
|
影厅别名,影厅id,影片别名,本地影片id,语言,放映日期,开始时间,结束时间,片长,场间 |
|
2楼 百花厅(部分按摩椅),1,功夫女足,4292,国语,2026-07-14,13:00,14:46,106,0 |
|
2楼 百花厅(部分按摩椅),1,功夫女足,4292,国语,2026-07-14,15:00,16:46,106,14 |
|
2楼 百花厅(部分按摩椅),1,功夫女足,4292,国语,2026-07-14,17:00,18:46,106,14 |
|
2楼 百花厅(部分按摩椅),1,功夫女足,4292,国语,2026-07-14,19:00,20:46,106,14 |
|
2楼 百花厅(部分按摩椅),1,功夫女足,4292,国语,2026-07-14,21:00,22:46,106,14 |
|
2楼1号厅(部分按摩椅),2,功夫女足,4292,国语,2026-07-14,11:00,12:46,106,0 |
|
2楼1号厅(部分按摩椅),2,八仙!,4296,国语,2026-07-14,13:00,15:24,144,14 |
|
2楼1号厅(部分按摩椅),2,三国第一部:争洛阳,4281,国语,2026-07-14,15:40,17:57,137,16 |
|
2楼1号厅(部分按摩椅),2,三国第一部:争洛阳,4281,国语,2026-07-14,18:10,20:27,137,13 |
|
2楼1号厅(部分按摩椅),2,八仙!,4296,国语,2026-07-14,20:40,23:04,144,13 |
|
2楼2号速度与激情厅(部分按摩椅),3,四渡,4275,国语,2026-07-14,10:20,12:22,122,0 |
|
2楼2号速度与激情厅(部分按摩椅),3,四渡,4275,国语,2026-07-14,12:35,14:37,122,13 |
|
2楼2号速度与激情厅(部分按摩椅),3,四渡,4275,国语,2026-07-14,14:50,16:52,122,13 |
|
2楼2号速度与激情厅(部分按摩椅),3,四渡,4275,国语,2026-07-14,17:05,19:07,122,13 |
|
2楼2号速度与激情厅(部分按摩椅),3,四渡,4275,国语,2026-07-14,19:20,21:22,122,13 |
|
2楼3号厅(部分按摩椅),4,功夫女足,4292,国语,2026-07-14,10:30,12:16,106,0 |
|
2楼3号厅(部分按摩椅),4,小黄人与大怪兽(国语),4289,国语,2026-07-14,12:30,14:00,90,14 |
|
2楼3号厅(部分按摩椅),4,小黄人与大怪兽(国语),4289,国语,2026-07-14,14:15,15:45,90,15 |
|
2楼3号厅(部分按摩椅),4,后室,4279,原版,2026-07-14,16:00,17:51,111,15 |
|
2楼3号厅(部分按摩椅),4,功夫女足,4292,国语,2026-07-14,18:05,19:51,106,14 |
|
2楼3号厅(部分按摩椅),4,八仙!,4296,国语,2026-07-14,20:05,22:29,144,14 |
|
2楼4号优选福励厅,5,功夫女足,4292,国语,2026-07-14,11:30,13:16,106,0 |
|
2楼4号优选福励厅,5,功夫女足,4292,国语,2026-07-14,13:30,15:16,106,14 |
|
2楼4号优选福励厅,5,功夫女足,4292,国语,2026-07-14,15:30,17:16,106,14 |
|
2楼4号优选福励厅,5,功夫女足,4292,国语,2026-07-14,17:30,19:16,106,14 |
|
2楼4号优选福励厅,5,功夫女足,4292,国语,2026-07-14,19:30,21:16,106,14 |
|
2楼4号优选福励厅,5,功夫女足,4292,国语,2026-07-14,21:30,23:16,106,14 |
|
3楼5号厅(部分按摩椅),6,功夫女足,4292,国语,2026-07-14,11:05,12:51,106,0 |
|
3楼5号厅(部分按摩椅),6,功夫女足,4292,国语,2026-07-14,13:05,14:51,106,14 |
|
3楼5号厅(部分按摩椅),6,功夫女足,4292,国语,2026-07-14,15:05,16:51,106,14 |
|
3楼5号厅(部分按摩椅),6,功夫女足,4292,国语,2026-07-14,17:05,18:51,106,14 |
|
3楼5号厅(部分按摩椅),6,功夫女足,4292,国语,2026-07-14,19:05,20:51,106,14 |
|
3楼5号厅(部分按摩椅),6,功夫女足,4292,国语,2026-07-14,21:05,22:51,106,14 |
|
3楼6号泰隆银行厅(部分按摩椅),7,功夫女足,4292,国语,2026-07-14,12:00,13:46,106,0 |
|
3楼6号泰隆银行厅(部分按摩椅),7,功夫女足,4292,国语,2026-07-14,14:00,15:46,106,14 |
|
3楼6号泰隆银行厅(部分按摩椅),7,功夫女足,4292,国语,2026-07-14,16:00,17:46,106,14 |
|
3楼6号泰隆银行厅(部分按摩椅),7,功夫女足,4292,国语,2026-07-14,18:00,19:46,106,14 |
|
3楼6号泰隆银行厅(部分按摩椅),7,功夫女足,4292,国语,2026-07-14,20:00,21:46,106,14 |
|
3楼7号厅,8,功夫女足,4292,国语,2026-07-14,12:40,14:26,106,0 |
|
3楼7号厅,8,八仙!,4296,国语,2026-07-14,14:40,17:04,144,14 |
|
3楼7号厅,8,小黄人与大怪兽(国语),4289,国语,2026-07-14,17:15,18:45,90,11 |
|
3楼7号厅,8,三国第一部:争洛阳,4281,国语,2026-07-14,19:00,21:17,137,15 |
|
3楼7号厅,8,后室,4279,原版,2026-07-14,21:30,23:21,111,13 |
|
2楼 三江VIP厅,9,功夫女足,4292,国语,2026-07-14,14:05,15:51,106,0 |
|
2楼 三江VIP厅,9,那山那水,4264,国语,2026-07-14,16:05,17:31,86,14 |
|
2楼 三江VIP厅,9,八仙!,4296,国语,2026-07-14,17:45,20:09,144,14 |
|
2楼 三江VIP厅,9,特立独行,4280,国语,2026-07-14,20:20,22:23,123,11 |
|
""" |
|
|
|
json_str = """[ |
|
{"hall_name": "IMAX厅(儿童需购票)", "hall_id": "1", "movie_alias": "小黄人与大怪兽(IMAX 2D/原声)", "movie_id": "3736", "language": "原声", "show_date": "2026-07-18", "start": "09:00", "end": "10:30", "length": "90", "duration": "0"}, |
|
{"hall_name": "IMAX厅(儿童需购票)", "hall_id": "1", "movie_alias": "八仙!(IMAX 2D/国语)", "movie_id": "3756", "language": "国语", "show_date": "2026-07-18", "start": "10:40", "end": "13:04", "length": "144", "duration": "10"}, |
|
{"hall_name": "IMAX厅(儿童需购票)", "hall_id": "1", "movie_alias": "抓特务(IMAX 2D/国语)", "movie_id": "3754", "language": "国语", "show_date": "2026-07-18", "start": "14:00", "end": "16:21", "length": "141", "duration": "56"}, |
|
{"hall_name": "IMAX厅(儿童需购票)", "hall_id": "1", "movie_alias": "八仙!(IMAX 2D/国语)", "movie_id": "3756", "language": "国语", "show_date": "2026-07-18", "start": "17:00", "end": "19:24", "length": "144", "duration": "39"}, |
|
{"hall_name": "IMAX厅(儿童需购票)", "hall_id": "1", "movie_alias": "八仙!(IMAX 2D/国语)", "movie_id": "3756", "language": "国语", "show_date": "2026-07-18", "start": "19:45", "end": "22:09", "length": "144", "duration": "21"}, |
|
{"hall_name": "IMAX厅(儿童需购票)", "hall_id": "1", "movie_alias": "八仙!(IMAX 2D/国语)", "movie_id": "3756", "language": "国语", "show_date": "2026-07-18", "start": "22:30", "end": "00:54", "length": "144", "duration": "21"}, |
|
{"hall_name": "4号厅", "hall_id": "4", "movie_alias": "八仙!(2D/国语)", "movie_id": "3753", "language": "国语", "show_date": "2026-07-18", "start": "10:30", "end": "12:54", "length": "144", "duration": "0"}, |
|
{"hall_name": "4号厅", "hall_id": "4", "movie_alias": "八仙!(2D/国语)", "movie_id": "3753", "language": "国语", "show_date": "2026-07-18", "start": "13:15", "end": "15:39", "length": "144", "duration": "21"}, |
|
{"hall_name": "4号厅", "hall_id": "4", "movie_alias": "八仙!(2D/国语)", "movie_id": "3753", "language": "国语", "show_date": "2026-07-18", "start": "16:00", "end": "18:24", "length": "144", "duration": "21"}, |
|
{"hall_name": "4号厅", "hall_id": "4", "movie_alias": "八仙!(2D/国语)", "movie_id": "3753", "language": "国语", "show_date": "2026-07-18", "start": "18:45", "end": "21:09", "length": "144", "duration": "21"}, |
|
{"hall_name": "4号厅", "hall_id": "4", "movie_alias": "八仙!(2D/国语)", "movie_id": "3753", "language": "国语", "show_date": "2026-07-18", "start": "21:30", "end": "23:54", "length": "144", "duration": "21"}, |
|
{"hall_name": "5号厅", "hall_id": "5", "movie_alias": "四渡(2D/国语)", "movie_id": "3717", "language": "国语", "show_date": "2026-07-18", "start": "10:00", "end": "12:02", "length": "122", "duration": "0"}, |
|
{"hall_name": "5号厅", "hall_id": "5", "movie_alias": "想你了(2D/国语)", "movie_id": "3755", "language": "国语", "show_date": "2026-07-18", "start": "12:20", "end": "14:07", "length": "107", "duration": "18"}, |
|
{"hall_name": "5号厅", "hall_id": "5", "movie_alias": "想你了(2D/国语)", "movie_id": "3755", "language": "国语", "show_date": "2026-07-18", "start": "14:25", "end": "16:12", "length": "107", "duration": "18"}, |
|
{"hall_name": "5号厅", "hall_id": "5", "movie_alias": "想你了(2D/国语)", "movie_id": "3755", "language": "国语", "show_date": "2026-07-18", "start": "16:30", "end": "18:17", "length": "107", "duration": "18"}, |
|
{"hall_name": "5号厅", "hall_id": "5", "movie_alias": "想你了(2D/国语)", "movie_id": "3755", "language": "国语", "show_date": "2026-07-18", "start": "18:35", "end": "20:22", "length": "107", "duration": "18"}, |
|
{"hall_name": "5号厅", "hall_id": "5", "movie_alias": "哈姆雷特(2D/原声)", "movie_id": "3757", "language": "原声", "show_date": "2026-07-18", "start": "20:40", "end": "23:35", "length": "175", "duration": "18"}, |
|
{"hall_name": "6号厅(有无障碍服务)", "hall_id": "6", "movie_alias": "恐怖游轮(2D/原声)", "movie_id": "3751", "language": "原声", "show_date": "2026-07-18", "start": "09:20", "end": "10:59", "length": "99", "duration": "0"}, |
|
{"hall_name": "6号厅(有无障碍服务)", "hall_id": "6", "movie_alias": "恐怖游轮(2D/原声)", "movie_id": "3751", "language": "原声", "show_date": "2026-07-18", "start": "11:20", "end": "12:59", "length": "99", "duration": "21"}, |
|
{"hall_name": "6号厅(有无障碍服务)", "hall_id": "6", "movie_alias": "恐怖游轮(2D/原声)", "movie_id": "3751", "language": "原声", "show_date": "2026-07-18", "start": "13:20", "end": "14:59", "length": "99", "duration": "21"}, |
|
{"hall_name": "6号厅(有无障碍服务)", "hall_id": "6", "movie_alias": "恐怖游轮(2D/原声)", "movie_id": "3751", "language": "原声", "show_date": "2026-07-18", "start": "15:20", "end": "16:59", "length": "99", "duration": "21"}, |
|
{"hall_name": "6号厅(有无障碍服务)", "hall_id": "6", "movie_alias": "恐怖游轮(2D/原声)", "movie_id": "3751", "language": "原声", "show_date": "2026-07-18", "start": "17:20", "end": "18:59", "length": "99", "duration": "21"}, |
|
{"hall_name": "6号厅(有无障碍服务)", "hall_id": "6", "movie_alias": "恐怖游轮(2D/原声)", "movie_id": "3751", "language": "原声", "show_date": "2026-07-18", "start": "19:17", "end": "20:56", "length": "99", "duration": "18"}, |
|
{"hall_name": "6号厅(有无障碍服务)", "hall_id": "6", "movie_alias": "恐怖游轮(2D/原声)", "movie_id": "3751", "language": "原声", "show_date": "2026-07-18", "start": "21:15", "end": "22:54", "length": "99", "duration": "19"}, |
|
{"hall_name": "6号厅(有无障碍服务)", "hall_id": "6", "movie_alias": "恐怖游轮(2D/原声)", "movie_id": "3751", "language": "原声", "show_date": "2026-07-18", "start": "23:15", "end": "00:54", "length": "99", "duration": "21"}, |
|
{"hall_name": "RealD Cinema 厅(儿童需购票)有无障碍服务", "hall_id": "7", "movie_alias": "八仙!(2D/国语)", "movie_id": "3753", "language": "国语", "show_date": "2026-07-18", "start": "09:45", "end": "12:09", "length": "144", "duration": "0"}, |
|
{"hall_name": "RealD Cinema 厅(儿童需购票)有无障碍服务", "hall_id": "7", "movie_alias": "八仙!(2D/国语)", "movie_id": "3753", "language": "国语", "show_date": "2026-07-18", "start": "12:30", "end": "14:54", "length": "144", "duration": "21"}, |
|
{"hall_name": "RealD Cinema 厅(儿童需购票)有无障碍服务", "hall_id": "7", "movie_alias": "八仙!(2D/国语)", "movie_id": "3753", "language": "国语", "show_date": "2026-07-18", "start": "15:15", "end": "17:39", "length": "144", "duration": "21"}, |
|
{"hall_name": "RealD Cinema 厅(儿童需购票)有无障碍服务", "hall_id": "7", "movie_alias": "八仙!(2D/国语)", "movie_id": "3753", "language": "国语", "show_date": "2026-07-18", "start": "18:00", "end": "20:24", "length": "144", "duration": "21"}, |
|
{"hall_name": "RealD Cinema 厅(儿童需购票)有无障碍服务", "hall_id": "7", "movie_alias": "八仙!(2D/国语)", "movie_id": "3753", "language": "国语", "show_date": "2026-07-18", "start": "20:45", "end": "23:09", "length": "144", "duration": "21"}, |
|
{"hall_name": "RealD Cinema 厅(儿童需购票)有无障碍服务", "hall_id": "7", "movie_alias": "八仙!(2D/国语)", "movie_id": "3753", "language": "国语", "show_date": "2026-07-18", "start": "23:30", "end": "01:54", "length": "144", "duration": "21"}, |
|
{"hall_name": "Onyx LED 厅(儿童需购票)", "hall_id": "8", "movie_alias": "功夫女足(2D/国语)", "movie_id": "3743", "language": "国语", "show_date": "2026-07-18", "start": "09:55", "end": "11:41", "length": "106", "duration": "0"}, |
|
{"hall_name": "Onyx LED 厅(儿童需购票)", "hall_id": "8", "movie_alias": "功夫女足(2D/国语)", "movie_id": "3743", "language": "国语", "show_date": "2026-07-18", "start": "12:00", "end": "13:46", "length": "106", "duration": "19"}, |
|
{"hall_name": "Onyx LED 厅(儿童需购票)", "hall_id": "8", "movie_alias": "功夫女足(2D/国语)", "movie_id": "3743", "language": "国语", "show_date": "2026-07-18", "start": "14:05", "end": "15:51", "length": "106", "duration": "19"}, |
|
{"hall_name": "Onyx LED 厅(儿童需购票)", "hall_id": "8", "movie_alias": "功夫女足(2D/国语)", "movie_id": "3743", "language": "国语", "show_date": "2026-07-18", "start": "16:10", "end": "17:56", "length": "106", "duration": "19"}, |
|
{"hall_name": "Onyx LED 厅(儿童需购票)", "hall_id": "8", "movie_alias": "功夫女足(2D/国语)", "movie_id": "3743", "language": "国语", "show_date": "2026-07-18", "start": "18:15", "end": "20:01", "length": "106", "duration": "19"}, |
|
{"hall_name": "Onyx LED 厅(儿童需购票)", "hall_id": "8", "movie_alias": "功夫女足(2D/国语)", "movie_id": "3743", "language": "国语", "show_date": "2026-07-18", "start": "20:20", "end": "22:06", "length": "106", "duration": "19"}, |
|
{"hall_name": "Onyx LED 厅(儿童需购票)", "hall_id": "8", "movie_alias": "功夫女足(2D/国语)", "movie_id": "3743", "language": "国语", "show_date": "2026-07-18", "start": "22:25", "end": "00:11", "length": "106", "duration": "19"}, |
|
{"hall_name": "9号厅", "hall_id": "9", "movie_alias": "三国第一部:争洛阳(2D/国语)", "movie_id": "3738", "language": "国语", "show_date": "2026-07-18", "start": "09:45", "end": "12:02", "length": "137", "duration": "0"}, |
|
{"hall_name": "9号厅", "hall_id": "9", "movie_alias": "三国第一部:争洛阳(2D/国语)", "movie_id": "3738", "language": "国语", "show_date": "2026-07-18", "start": "12:20", "end": "14:37", "length": "137", "duration": "18"}, |
|
{"hall_name": "9号厅", "hall_id": "9", "movie_alias": "功夫女足(2D/国语)", "movie_id": "3743", "language": "国语", "show_date": "2026-07-18", "start": "15:00", "end": "16:46", "length": "106", "duration": "23"}, |
|
{"hall_name": "9号厅", "hall_id": "9", "movie_alias": "功夫女足(2D/国语)", "movie_id": "3743", "language": "国语", "show_date": "2026-07-18", "start": "17:05", "end": "18:51", "length": "106", "duration": "19"}, |
|
{"hall_name": "9号厅", "hall_id": "9", "movie_alias": "功夫女足(2D/国语)", "movie_id": "3743", "language": "国语", "show_date": "2026-07-18", "start": "19:10", "end": "20:56", "length": "106", "duration": "19"}, |
|
{"hall_name": "9号厅", "hall_id": "9", "movie_alias": "三国第一部:争洛阳(2D/国语)", "movie_id": "3738", "language": "国语", "show_date": "2026-07-18", "start": "21:15", "end": "23:32", "length": "137", "duration": "19"}, |
|
{"hall_name": "9号厅", "hall_id": "9", "movie_alias": "三国第一部:争洛阳(2D/国语)", "movie_id": "3738", "language": "国语", "show_date": "2026-07-18", "start": "23:50", "end": "02:07", "length": "137", "duration": "18"}, |
|
{"hall_name": "4DX 厅(儿童需购票)", "hall_id": "10", "movie_alias": "玩具总动员5(4DX3D/原声)", "movie_id": "3722", "language": "原声", "show_date": "2026-07-18", "start": "09:00", "end": "10:42", "length": "102", "duration": "0"}, |
|
{"hall_name": "4DX 厅(儿童需购票)", "hall_id": "10", "movie_alias": "玩具总动员5(4DX3D/原声)", "movie_id": "3722", "language": "原声", "show_date": "2026-07-18", "start": "11:00", "end": "12:42", "length": "102", "duration": "18"}, |
|
{"hall_name": "4DX 厅(儿童需购票)", "hall_id": "10", "movie_alias": "功夫女足(2D/国语)", "movie_id": "3743", "language": "国语", "show_date": "2026-07-18", "start": "14:00", "end": "15:46", "length": "106", "duration": "78"}, |
|
{"hall_name": "4DX 厅(儿童需购票)", "hall_id": "10", "movie_alias": "特立独行(2D/国语)", "movie_id": "3742", "language": "国语", "show_date": "2026-07-18", "start": "16:05", "end": "18:08", "length": "123", "duration": "19"}, |
|
{"hall_name": "4DX 厅(儿童需购票)", "hall_id": "10", "movie_alias": "后室(4DX2D/原声)", "movie_id": "3730", "language": "原声", "show_date": "2026-07-18", "start": "18:25", "end": "20:16", "length": "111", "duration": "17"}, |
|
{"hall_name": "4DX 厅(儿童需购票)", "hall_id": "10", "movie_alias": "后室(4DX2D/原声)", "movie_id": "3730", "language": "原声", "show_date": "2026-07-18", "start": "20:35", "end": "22:26", "length": "111", "duration": "19"}, |
|
{"hall_name": "4DX 厅(儿童需购票)", "hall_id": "10", "movie_alias": "后室(4DX2D/原声)", "movie_id": "3730", "language": "原声", "show_date": "2026-07-18", "start": "22:45", "end": "00:36", "length": "111", "duration": "19"} |
|
]""" |
|
|
|
|
|
# 将csv转化成字典 |
|
def csv_to_obj(csv_data): |
|
f = StringIO(csv_data) |
|
print(csv_data, f) |
|
reader = csv.DictReader(f) |
|
return list(reader) |
|
|
|
|
|
def get_real_data(cinema_code: str, show_date: str): |
|
db_config = { |
|
'host': '172.16.1.63', |
|
'port': 3306, |
|
'user': 'root', |
|
'password': 'Cine123456', |
|
'database': 'dingxin_toolbox', |
|
} |
|
db_conn = pymysql.connect(**db_config) |
|
db_cursor = db_conn.cursor(cursor=DictCursor) |
|
db_cursor.execute( |
|
"SELECT * FROM dingxin_toolbox.ai_show_result WHERE zz_code=%s AND show_date=%s AND is_ai_show=%s", |
|
(cinema_code, show_date, 0)) |
|
real_data = db_cursor.fetchone() |
|
return real_data['show'] |
|
|
|
|
|
def count_data(data): |
|
count = len(data) - 1 |
|
movie_dict = {} |
|
for movie in data[1:]: |
|
movie_name = movie[None][2] |
|
if movie_name in movie_dict.keys(): |
|
movie_dict[movie_name] += 1 |
|
else: |
|
movie_dict[movie_name] = 1 |
|
movie_dict = dict(sorted(movie_dict.items(), key=lambda item: item[1], reverse=True)) |
|
print(f"共{count}场") |
|
for key, value in movie_dict.items(): |
|
print(f"《{key}》: {value}场 占比{round(value / count * 100, 2)}%") |
|
|
|
|
|
def _get_hall_count(show: list) -> dict: |
|
hall_show_count = dict() |
|
for show in show[1:]: |
|
hall = show[None][1] |
|
if hall in hall_show_count.keys(): |
|
hall_show_count[show[None][1]] += 1 |
|
else: |
|
hall_show_count[show[None][1]] = 1 |
|
return hall_show_count |
|
|
|
|
|
def get_hall_show_count(ai: list, real: list) -> dict: |
|
ai_hall_show_count = _get_hall_count(ai) |
|
real_hall_show_count = _get_hall_count(real) |
|
more = ai_hall_show_count if len(ai_hall_show_count) >= len(real_hall_show_count) else real_hall_show_count |
|
hall_show_count = dict() |
|
for key in more.keys(): |
|
hall_show_count[key] = ai_hall_show_count[key] if ai_hall_show_count.get(key, 0) >= real_hall_show_count.get( |
|
key, 0) else real_hall_show_count[key] |
|
return hall_show_count |
|
|
|
|
|
def show_data(zz_code: str, show_date: str): |
|
real_obj = csv_to_obj(get_real_data(zz_code, show_date)) |
|
ai_obj = csv_to_obj(s) |
|
print('ai_obj', ai_obj) |
|
print('real_obj', real_obj) |
|
hall_show_count = get_hall_show_count(ai_obj, real_obj) |
|
print(hall_show_count) |
|
|
|
|
|
def parse_json(json_data: str): |
|
data = json.loads(json_data) |
|
movie = dict() |
|
total = 0 |
|
for d in data: |
|
total += 1 |
|
if d['movie_alias'] not in movie.keys(): |
|
movie[d['movie_alias']] = 1 |
|
else: |
|
movie[d['movie_alias']] += 1 |
|
print(total) |
|
for key, value in movie.items(): |
|
print(key, round(value / total * 100, 2)) |
|
|
|
|
|
if __name__ == '__main__': |
|
# count_data(csv_to_obj(s)) |
|
# show_data('33040301', '2026-07-13') |
|
parse_json(json_str)
|
|
|