[{"data":1,"prerenderedAt":2629},["ShallowReactive",2],{"doc-\u002Fhow-to\u002Fhow-to-parse-json-in-python":3},{"id":4,"title":5,"body":6,"description":2622,"extension":2623,"meta":2624,"navigation":76,"path":2625,"seo":2626,"stem":2627,"__hash__":2628},"content\u002Fhow-to\u002Fhow-to-parse-json-in-python.md","How to Parse JSON in Python",{"type":7,"value":8,"toc":2591},"minimark",[9,13,17,20,44,49,189,195,265,274,278,293,297,300,349,352,530,534,583,591,597,602,605,625,627,725,729,778,781,797,806,811,814,903,907,963,966,972,977,979,1006,1012,1094,1097,1235,1239,1327,1329,1345,1353,1357,1360,1377,1381,1495,1499,1516,1522,1542,1553,1557,1636,1640,1655,1659,1662,1736,1740,1802,1808,1836,1840,1843,1846,1865,1869,1876,1923,1926,1929,1989,1993,1996,2042,2049,2051,2109,2113,2116,2119,2157,2160,2198,2201,2226,2236,2240,2243,2263,2266,2321,2324,2346,2349,2353,2356,2383,2392,2469,2472,2484,2490,2494,2502,2510,2514,2520,2524,2527,2531,2537,2541,2584,2587],[10,11,5],"h1",{"id":12},"how-to-parse-json-in-python",[14,15,16],"p",{},"If you have JSON text and want to use it in Python, the usual goal is to turn that text into normal Python data such as dictionaries and lists.",[14,18,19],{},"This page shows you how to:",[21,22,23,27,30,33],"ul",{},[24,25,26],"li",{},"Parse JSON text into Python objects",[24,28,29],{},"Understand what type Python gives you back",[24,31,32],{},"Read values from parsed JSON safely",[24,34,35,36,40,41],{},"Choose between ",[37,38,39],"code",{},"json.loads()"," and ",[37,42,43],{},"json.load()",[45,46,48],"h2",{"id":47},"quick-answer","Quick answer",[50,51,56],"pre",{"className":52,"code":53,"language":54,"meta":55,"style":55},"language-python shiki shiki-themes material-theme-lighter github-light github-dark","import json\n\njson_text = '{\"name\": \"Ana\", \"age\": 25, \"is_admin\": false}'\ndata = json.loads(json_text)\n\nprint(data)\nprint(data[\"name\"])\nprint(data[\"age\"])\n","python","",[37,57,58,71,78,99,127,132,146,169],{"__ignoreMap":55},[59,60,63,67],"span",{"class":61,"line":62},"line",1,[59,64,66],{"class":65},"sVHd0","import",[59,68,70],{"class":69},"su5hD"," json\n",[59,72,74],{"class":61,"line":73},2,[59,75,77],{"emptyLinePlaceholder":76},true,"\n",[59,79,81,84,88,92,96],{"class":61,"line":80},3,[59,82,83],{"class":69},"json_text ",[59,85,87],{"class":86},"smGrS","=",[59,89,91],{"class":90},"sjJ54"," '",[59,93,95],{"class":94},"s_sjI","{\"name\": \"Ana\", \"age\": 25, \"is_admin\": false}",[59,97,98],{"class":90},"'\n",[59,100,102,105,107,110,114,118,121,124],{"class":61,"line":101},4,[59,103,104],{"class":69},"data ",[59,106,87],{"class":86},[59,108,109],{"class":69}," json",[59,111,113],{"class":112},"sP7_E",".",[59,115,117],{"class":116},"slqww","loads",[59,119,120],{"class":112},"(",[59,122,123],{"class":116},"json_text",[59,125,126],{"class":112},")\n",[59,128,130],{"class":61,"line":129},5,[59,131,77],{"emptyLinePlaceholder":76},[59,133,135,139,141,144],{"class":61,"line":134},6,[59,136,138],{"class":137},"sptTA","print",[59,140,120],{"class":112},[59,142,143],{"class":116},"data",[59,145,126],{"class":112},[59,147,149,151,153,155,158,161,164,166],{"class":61,"line":148},7,[59,150,138],{"class":137},[59,152,120],{"class":112},[59,154,143],{"class":116},[59,156,157],{"class":112},"[",[59,159,160],{"class":90},"\"",[59,162,163],{"class":94},"name",[59,165,160],{"class":90},[59,167,168],{"class":112},"])\n",[59,170,172,174,176,178,180,182,185,187],{"class":61,"line":171},8,[59,173,138],{"class":137},[59,175,120],{"class":112},[59,177,143],{"class":116},[59,179,157],{"class":112},[59,181,160],{"class":90},[59,183,184],{"class":94},"age",[59,186,160],{"class":90},[59,188,168],{"class":112},[14,190,191],{},[192,193,194],"strong",{},"Output:",[50,196,198],{"className":52,"code":197,"language":54,"meta":55,"style":55},"{'name': 'Ana', 'age': 25, 'is_admin': False}\nAna\n25\n",[37,199,200,255,260],{"__ignoreMap":55},[59,201,202,205,208,210,212,215,217,220,222,225,227,229,231,233,237,239,241,244,246,248,252],{"class":61,"line":62},[59,203,204],{"class":112},"{",[59,206,207],{"class":90},"'",[59,209,163],{"class":94},[59,211,207],{"class":90},[59,213,214],{"class":112},":",[59,216,91],{"class":90},[59,218,219],{"class":94},"Ana",[59,221,207],{"class":90},[59,223,224],{"class":112},",",[59,226,91],{"class":90},[59,228,184],{"class":94},[59,230,207],{"class":90},[59,232,214],{"class":112},[59,234,236],{"class":235},"srdBf"," 25",[59,238,224],{"class":112},[59,240,91],{"class":90},[59,242,243],{"class":94},"is_admin",[59,245,207],{"class":90},[59,247,214],{"class":112},[59,249,251],{"class":250},"s39Yj"," False",[59,253,254],{"class":112},"}\n",[59,256,257],{"class":61,"line":73},[59,258,259],{"class":69},"Ana\n",[59,261,262],{"class":61,"line":80},[59,263,264],{"class":235},"25\n",[14,266,267,268,270,271,273],{},"Use ",[37,269,39],{}," for a JSON string. Use ",[37,272,43],{}," when reading JSON from a file object.",[45,275,277],{"id":276},"what-this-page-helps-you-do","What this page helps you do",[21,279,280,282,285,287],{},[24,281,26],{},[24,283,284],{},"Understand what Python type you get back",[24,286,32],{},[24,288,35,289,40,291],{},[37,290,39],{},[37,292,43],{},[45,294,296],{"id":295},"what-json-becomes-in-python","What JSON becomes in Python",[14,298,299],{},"When Python parses JSON, it converts JSON values into matching Python values.",[21,301,302,305,308,314,324,340],{},[24,303,304],{},"JSON object becomes a Python dictionary",[24,306,307],{},"JSON array becomes a Python list",[24,309,310,311],{},"JSON string becomes a Python ",[37,312,313],{},"str",[24,315,316,317,320,321],{},"JSON number becomes ",[37,318,319],{},"int"," or ",[37,322,323],{},"float",[24,325,326,327,40,330,333,334,40,337],{},"JSON ",[37,328,329],{},"true",[37,331,332],{},"false"," become ",[37,335,336],{},"True",[37,338,339],{},"False",[24,341,326,342,345,346],{},[37,343,344],{},"null"," becomes ",[37,347,348],{},"None",[14,350,351],{},"Example:",[50,353,355],{"className":52,"code":354,"language":54,"meta":55,"style":55},"import json\n\njson_text = '''\n{\n    \"user\": \"Ana\",\n    \"age\": 25,\n    \"skills\": [\"Python\", \"SQL\"],\n    \"active\": true,\n    \"manager\": null\n}\n'''\n\ndata = json.loads(json_text)\n\nprint(type(data))\nprint(type(data[\"skills\"]))\nprint(data[\"active\"])\nprint(data[\"manager\"])\n",[37,356,357,363,367,376,381,386,391,396,401,407,412,418,423,442,447,465,490,510],{"__ignoreMap":55},[59,358,359,361],{"class":61,"line":62},[59,360,66],{"class":65},[59,362,70],{"class":69},[59,364,365],{"class":61,"line":73},[59,366,77],{"emptyLinePlaceholder":76},[59,368,369,371,373],{"class":61,"line":80},[59,370,83],{"class":69},[59,372,87],{"class":86},[59,374,375],{"class":90}," '''\n",[59,377,378],{"class":61,"line":101},[59,379,380],{"class":94},"{\n",[59,382,383],{"class":61,"line":129},[59,384,385],{"class":94},"    \"user\": \"Ana\",\n",[59,387,388],{"class":61,"line":134},[59,389,390],{"class":94},"    \"age\": 25,\n",[59,392,393],{"class":61,"line":148},[59,394,395],{"class":94},"    \"skills\": [\"Python\", \"SQL\"],\n",[59,397,398],{"class":61,"line":171},[59,399,400],{"class":94},"    \"active\": true,\n",[59,402,404],{"class":61,"line":403},9,[59,405,406],{"class":94},"    \"manager\": null\n",[59,408,410],{"class":61,"line":409},10,[59,411,254],{"class":94},[59,413,415],{"class":61,"line":414},11,[59,416,417],{"class":90},"'''\n",[59,419,421],{"class":61,"line":420},12,[59,422,77],{"emptyLinePlaceholder":76},[59,424,426,428,430,432,434,436,438,440],{"class":61,"line":425},13,[59,427,104],{"class":69},[59,429,87],{"class":86},[59,431,109],{"class":69},[59,433,113],{"class":112},[59,435,117],{"class":116},[59,437,120],{"class":112},[59,439,123],{"class":116},[59,441,126],{"class":112},[59,443,445],{"class":61,"line":444},14,[59,446,77],{"emptyLinePlaceholder":76},[59,448,450,452,454,458,460,462],{"class":61,"line":449},15,[59,451,138],{"class":137},[59,453,120],{"class":112},[59,455,457],{"class":456},"sZMiF","type",[59,459,120],{"class":112},[59,461,143],{"class":116},[59,463,464],{"class":112},"))\n",[59,466,468,470,472,474,476,478,480,482,485,487],{"class":61,"line":467},16,[59,469,138],{"class":137},[59,471,120],{"class":112},[59,473,457],{"class":456},[59,475,120],{"class":112},[59,477,143],{"class":116},[59,479,157],{"class":112},[59,481,160],{"class":90},[59,483,484],{"class":94},"skills",[59,486,160],{"class":90},[59,488,489],{"class":112},"]))\n",[59,491,493,495,497,499,501,503,506,508],{"class":61,"line":492},17,[59,494,138],{"class":137},[59,496,120],{"class":112},[59,498,143],{"class":116},[59,500,157],{"class":112},[59,502,160],{"class":90},[59,504,505],{"class":94},"active",[59,507,160],{"class":90},[59,509,168],{"class":112},[59,511,513,515,517,519,521,523,526,528],{"class":61,"line":512},18,[59,514,138],{"class":137},[59,516,120],{"class":112},[59,518,143],{"class":116},[59,520,157],{"class":112},[59,522,160],{"class":90},[59,524,525],{"class":94},"manager",[59,527,160],{"class":90},[59,529,168],{"class":112},[14,531,532],{},[192,533,194],{},[50,535,537],{"className":52,"code":536,"language":54,"meta":55,"style":55},"\u003Cclass 'dict'>\n\u003Cclass 'list'>\nTrue\nNone\n",[37,538,539,558,573,578],{"__ignoreMap":55},[59,540,541,544,548,550,553,555],{"class":61,"line":62},[59,542,543],{"class":86},"\u003C",[59,545,547],{"class":546},"sbsja","class",[59,549,91],{"class":90},[59,551,552],{"class":94},"dict",[59,554,207],{"class":90},[59,556,557],{"class":86},">\n",[59,559,560,562,564,566,569,571],{"class":61,"line":73},[59,561,543],{"class":86},[59,563,547],{"class":546},[59,565,91],{"class":90},[59,567,568],{"class":94},"list",[59,570,207],{"class":90},[59,572,557],{"class":86},[59,574,575],{"class":61,"line":80},[59,576,577],{"class":250},"True\n",[59,579,580],{"class":61,"line":101},[59,581,582],{"class":250},"None\n",[14,584,585,586,113],{},"If you want a broader overview, see the ",[587,588,590],"a",{"href":589},"\u002Fstandard-library\u002Fpython-json-module-overview","Python json module overview",[45,592,594,595],{"id":593},"parse-json-from-a-string-with-jsonloads","Parse JSON from a string with ",[37,596,39],{},[14,598,267,599,601],{},[37,600,39],{}," when your JSON is already in a Python string.",[14,603,604],{},"Steps:",[21,606,607,614,619,622],{},[24,608,609,610,613],{},"Import the built-in ",[37,611,612],{},"json"," module",[24,615,616,617],{},"Pass a JSON-formatted string to ",[37,618,39],{},[24,620,621],{},"Store the result in a variable",[24,623,624],{},"Access dictionary keys or list items from the result",[14,626,351],{},[50,628,630],{"className":52,"code":629,"language":54,"meta":55,"style":55},"import json\n\njson_text = '{\"city\": \"Paris\", \"population\": 2148000}'\ndata = json.loads(json_text)\n\nprint(data)\nprint(data[\"city\"])\nprint(data[\"population\"])\n",[37,631,632,638,642,655,673,677,687,706],{"__ignoreMap":55},[59,633,634,636],{"class":61,"line":62},[59,635,66],{"class":65},[59,637,70],{"class":69},[59,639,640],{"class":61,"line":73},[59,641,77],{"emptyLinePlaceholder":76},[59,643,644,646,648,650,653],{"class":61,"line":80},[59,645,83],{"class":69},[59,647,87],{"class":86},[59,649,91],{"class":90},[59,651,652],{"class":94},"{\"city\": \"Paris\", \"population\": 2148000}",[59,654,98],{"class":90},[59,656,657,659,661,663,665,667,669,671],{"class":61,"line":101},[59,658,104],{"class":69},[59,660,87],{"class":86},[59,662,109],{"class":69},[59,664,113],{"class":112},[59,666,117],{"class":116},[59,668,120],{"class":112},[59,670,123],{"class":116},[59,672,126],{"class":112},[59,674,675],{"class":61,"line":129},[59,676,77],{"emptyLinePlaceholder":76},[59,678,679,681,683,685],{"class":61,"line":134},[59,680,138],{"class":137},[59,682,120],{"class":112},[59,684,143],{"class":116},[59,686,126],{"class":112},[59,688,689,691,693,695,697,699,702,704],{"class":61,"line":148},[59,690,138],{"class":137},[59,692,120],{"class":112},[59,694,143],{"class":116},[59,696,157],{"class":112},[59,698,160],{"class":90},[59,700,701],{"class":94},"city",[59,703,160],{"class":90},[59,705,168],{"class":112},[59,707,708,710,712,714,716,718,721,723],{"class":61,"line":171},[59,709,138],{"class":137},[59,711,120],{"class":112},[59,713,143],{"class":116},[59,715,157],{"class":112},[59,717,160],{"class":90},[59,719,720],{"class":94},"population",[59,722,160],{"class":90},[59,724,168],{"class":112},[14,726,727],{},[192,728,194],{},[50,730,732],{"className":52,"code":731,"language":54,"meta":55,"style":55},"{'city': 'Paris', 'population': 2148000}\nParis\n2148000\n",[37,733,734,768,773],{"__ignoreMap":55},[59,735,736,738,740,742,744,746,748,751,753,755,757,759,761,763,766],{"class":61,"line":62},[59,737,204],{"class":112},[59,739,207],{"class":90},[59,741,701],{"class":94},[59,743,207],{"class":90},[59,745,214],{"class":112},[59,747,91],{"class":90},[59,749,750],{"class":94},"Paris",[59,752,207],{"class":90},[59,754,224],{"class":112},[59,756,91],{"class":90},[59,758,720],{"class":94},[59,760,207],{"class":90},[59,762,214],{"class":112},[59,764,765],{"class":235}," 2148000",[59,767,254],{"class":112},[59,769,770],{"class":61,"line":73},[59,771,772],{"class":69},"Paris\n",[59,774,775],{"class":61,"line":80},[59,776,777],{"class":235},"2148000\n",[14,779,780],{},"In this example:",[21,782,783,788,794],{},[24,784,785,787],{},[37,786,123],{}," is a string",[24,789,790,793],{},[37,791,792],{},"json.loads(json_text)"," parses the string",[24,795,796],{},"The result is a Python dictionary",[14,798,799,800,113],{},"If you want a focused explanation, see ",[587,801,803,805],{"href":802},"\u002Fstandard-library\u002Fjson.loads-function-explained",[37,804,39],{}," explained",[807,808,810],"h3",{"id":809},"example-parsing-a-json-array","Example: parsing a JSON array",[14,812,813],{},"JSON does not always become a dictionary. It can also become a list.",[50,815,817],{"className":52,"code":816,"language":54,"meta":55,"style":55},"import json\n\njson_text = '[\"apple\", \"banana\", \"orange\"]'\ndata = json.loads(json_text)\n\nprint(data)\nprint(type(data))\nprint(data[0])\n",[37,818,819,825,829,842,860,864,874,888],{"__ignoreMap":55},[59,820,821,823],{"class":61,"line":62},[59,822,66],{"class":65},[59,824,70],{"class":69},[59,826,827],{"class":61,"line":73},[59,828,77],{"emptyLinePlaceholder":76},[59,830,831,833,835,837,840],{"class":61,"line":80},[59,832,83],{"class":69},[59,834,87],{"class":86},[59,836,91],{"class":90},[59,838,839],{"class":94},"[\"apple\", \"banana\", \"orange\"]",[59,841,98],{"class":90},[59,843,844,846,848,850,852,854,856,858],{"class":61,"line":101},[59,845,104],{"class":69},[59,847,87],{"class":86},[59,849,109],{"class":69},[59,851,113],{"class":112},[59,853,117],{"class":116},[59,855,120],{"class":112},[59,857,123],{"class":116},[59,859,126],{"class":112},[59,861,862],{"class":61,"line":129},[59,863,77],{"emptyLinePlaceholder":76},[59,865,866,868,870,872],{"class":61,"line":134},[59,867,138],{"class":137},[59,869,120],{"class":112},[59,871,143],{"class":116},[59,873,126],{"class":112},[59,875,876,878,880,882,884,886],{"class":61,"line":148},[59,877,138],{"class":137},[59,879,120],{"class":112},[59,881,457],{"class":456},[59,883,120],{"class":112},[59,885,143],{"class":116},[59,887,464],{"class":112},[59,889,890,892,894,896,898,901],{"class":61,"line":171},[59,891,138],{"class":137},[59,893,120],{"class":112},[59,895,143],{"class":116},[59,897,157],{"class":112},[59,899,900],{"class":235},"0",[59,902,168],{"class":112},[14,904,905],{},[192,906,194],{},[50,908,910],{"className":52,"code":909,"language":54,"meta":55,"style":55},"['apple', 'banana', 'orange']\n\u003Cclass 'list'>\napple\n",[37,911,912,944,958],{"__ignoreMap":55},[59,913,914,916,918,921,923,925,927,930,932,934,936,939,941],{"class":61,"line":62},[59,915,157],{"class":112},[59,917,207],{"class":90},[59,919,920],{"class":94},"apple",[59,922,207],{"class":90},[59,924,224],{"class":112},[59,926,91],{"class":90},[59,928,929],{"class":94},"banana",[59,931,207],{"class":90},[59,933,224],{"class":112},[59,935,91],{"class":90},[59,937,938],{"class":94},"orange",[59,940,207],{"class":90},[59,942,943],{"class":112},"]\n",[59,945,946,948,950,952,954,956],{"class":61,"line":73},[59,947,543],{"class":86},[59,949,547],{"class":546},[59,951,91],{"class":90},[59,953,568],{"class":94},[59,955,207],{"class":90},[59,957,557],{"class":86},[59,959,960],{"class":61,"line":80},[59,961,962],{"class":69},"apple\n",[14,964,965],{},"This matters because you access a list with indexes, not dictionary keys.",[45,967,969,970],{"id":968},"parse-json-from-a-file-with-jsonload","Parse JSON from a file with ",[37,971,43],{},[14,973,267,974,976],{},[37,975,43],{}," when your JSON is in a file.",[14,978,604],{},[21,980,981,987,992,999],{},[24,982,983,984],{},"Open the file with ",[37,985,986],{},"open()",[24,988,989,990],{},"Pass the file object to ",[37,991,43],{},[24,993,994,995,998],{},"Use a ",[37,996,997],{},"with"," statement so the file closes automatically",[24,1000,1001,1002,1005],{},"This works well for local ",[37,1003,1004],{},".json"," files",[14,1007,1008,1009,214],{},"Example file, ",[37,1010,1011],{},"data.json",[50,1013,1016],{"className":1014,"code":1015,"language":612,"meta":55,"style":55},"language-json shiki shiki-themes material-theme-lighter github-light github-dark","{\n  \"name\": \"Ana\",\n  \"age\": 25,\n  \"languages\": [\"Python\", \"JavaScript\"]\n}\n",[37,1017,1018,1022,1044,1058,1090],{"__ignoreMap":55},[59,1019,1020],{"class":61,"line":62},[59,1021,380],{"class":112},[59,1023,1024,1027,1030,1032,1034,1037,1039,1041],{"class":61,"line":73},[59,1025,1026],{"class":250},"  \"",[59,1028,163],{"class":1029},"sseR_",[59,1031,160],{"class":250},[59,1033,214],{"class":112},[59,1035,1036],{"class":90}," \"",[59,1038,219],{"class":94},[59,1040,160],{"class":90},[59,1042,1043],{"class":112},",\n",[59,1045,1046,1048,1050,1052,1054,1056],{"class":61,"line":80},[59,1047,1026],{"class":250},[59,1049,184],{"class":1029},[59,1051,160],{"class":250},[59,1053,214],{"class":112},[59,1055,236],{"class":235},[59,1057,1043],{"class":112},[59,1059,1060,1062,1065,1067,1069,1072,1074,1077,1079,1081,1083,1086,1088],{"class":61,"line":101},[59,1061,1026],{"class":250},[59,1063,1064],{"class":1029},"languages",[59,1066,160],{"class":250},[59,1068,214],{"class":112},[59,1070,1071],{"class":112}," [",[59,1073,160],{"class":90},[59,1075,1076],{"class":94},"Python",[59,1078,160],{"class":90},[59,1080,224],{"class":112},[59,1082,1036],{"class":90},[59,1084,1085],{"class":94},"JavaScript",[59,1087,160],{"class":90},[59,1089,943],{"class":112},[59,1091,1092],{"class":61,"line":129},[59,1093,254],{"class":112},[14,1095,1096],{},"Python code:",[50,1098,1100],{"className":52,"code":1099,"language":54,"meta":55,"style":55},"import json\n\nwith open(\"data.json\", \"r\", encoding=\"utf-8\") as file:\n    data = json.load(file)\n\nprint(data)\nprint(data[\"name\"])\nprint(data[\"languages\"])\n",[37,1101,1102,1108,1112,1164,1185,1189,1199,1217],{"__ignoreMap":55},[59,1103,1104,1106],{"class":61,"line":62},[59,1105,66],{"class":65},[59,1107,70],{"class":69},[59,1109,1110],{"class":61,"line":73},[59,1111,77],{"emptyLinePlaceholder":76},[59,1113,1114,1116,1119,1121,1123,1125,1127,1129,1131,1134,1136,1138,1142,1144,1146,1149,1151,1154,1157,1161],{"class":61,"line":80},[59,1115,997],{"class":65},[59,1117,1118],{"class":137}," open",[59,1120,120],{"class":112},[59,1122,160],{"class":90},[59,1124,1011],{"class":94},[59,1126,160],{"class":90},[59,1128,224],{"class":112},[59,1130,1036],{"class":90},[59,1132,1133],{"class":94},"r",[59,1135,160],{"class":90},[59,1137,224],{"class":112},[59,1139,1141],{"class":1140},"s99_P"," encoding",[59,1143,87],{"class":86},[59,1145,160],{"class":90},[59,1147,1148],{"class":94},"utf-8",[59,1150,160],{"class":90},[59,1152,1153],{"class":112},")",[59,1155,1156],{"class":65}," as",[59,1158,1160],{"class":1159},"sMMDD"," file",[59,1162,1163],{"class":112},":\n",[59,1165,1166,1169,1171,1173,1175,1178,1180,1183],{"class":61,"line":101},[59,1167,1168],{"class":69},"    data ",[59,1170,87],{"class":86},[59,1172,109],{"class":69},[59,1174,113],{"class":112},[59,1176,1177],{"class":116},"load",[59,1179,120],{"class":112},[59,1181,1182],{"class":1159},"file",[59,1184,126],{"class":112},[59,1186,1187],{"class":61,"line":129},[59,1188,77],{"emptyLinePlaceholder":76},[59,1190,1191,1193,1195,1197],{"class":61,"line":134},[59,1192,138],{"class":137},[59,1194,120],{"class":112},[59,1196,143],{"class":116},[59,1198,126],{"class":112},[59,1200,1201,1203,1205,1207,1209,1211,1213,1215],{"class":61,"line":148},[59,1202,138],{"class":137},[59,1204,120],{"class":112},[59,1206,143],{"class":116},[59,1208,157],{"class":112},[59,1210,160],{"class":90},[59,1212,163],{"class":94},[59,1214,160],{"class":90},[59,1216,168],{"class":112},[59,1218,1219,1221,1223,1225,1227,1229,1231,1233],{"class":61,"line":171},[59,1220,138],{"class":137},[59,1222,120],{"class":112},[59,1224,143],{"class":116},[59,1226,157],{"class":112},[59,1228,160],{"class":90},[59,1230,1064],{"class":94},[59,1232,160],{"class":90},[59,1234,168],{"class":112},[14,1236,1237],{},[192,1238,194],{},[50,1240,1242],{"className":52,"code":1241,"language":54,"meta":55,"style":55},"{'name': 'Ana', 'age': 25, 'languages': ['Python', 'JavaScript']}\nAna\n['Python', 'JavaScript']\n",[37,1243,1244,1303,1307],{"__ignoreMap":55},[59,1245,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300],{"class":61,"line":62},[59,1247,204],{"class":112},[59,1249,207],{"class":90},[59,1251,163],{"class":94},[59,1253,207],{"class":90},[59,1255,214],{"class":112},[59,1257,91],{"class":90},[59,1259,219],{"class":94},[59,1261,207],{"class":90},[59,1263,224],{"class":112},[59,1265,91],{"class":90},[59,1267,184],{"class":94},[59,1269,207],{"class":90},[59,1271,214],{"class":112},[59,1273,236],{"class":235},[59,1275,224],{"class":112},[59,1277,91],{"class":90},[59,1279,1064],{"class":94},[59,1281,207],{"class":90},[59,1283,214],{"class":112},[59,1285,1071],{"class":112},[59,1287,207],{"class":90},[59,1289,1076],{"class":94},[59,1291,207],{"class":90},[59,1293,224],{"class":112},[59,1295,91],{"class":90},[59,1297,1085],{"class":94},[59,1299,207],{"class":90},[59,1301,1302],{"class":112},"]}\n",[59,1304,1305],{"class":61,"line":73},[59,1306,259],{"class":69},[59,1308,1309,1311,1313,1315,1317,1319,1321,1323,1325],{"class":61,"line":80},[59,1310,157],{"class":112},[59,1312,207],{"class":90},[59,1314,1076],{"class":94},[59,1316,207],{"class":90},[59,1318,224],{"class":112},[59,1320,91],{"class":90},[59,1322,1085],{"class":94},[59,1324,207],{"class":90},[59,1326,943],{"class":112},[14,1328,780],{},[21,1330,1331,1336,1342],{},[24,1332,1333,1335],{},[37,1334,986],{}," opens the file",[24,1337,1338,1341],{},[37,1339,1340],{},"json.load(file)"," reads and parses the JSON from that file",[24,1343,1344],{},"The result is again normal Python data",[14,1346,1347,1348,113],{},"For more detail, see ",[587,1349,1351,805],{"href":1350},"\u002Fstandard-library\u002Fjson.load-function-explained",[37,1352,43],{},[45,1354,1356],{"id":1355},"how-to-access-parsed-json-data","How to access parsed JSON data",[14,1358,1359],{},"After parsing, work with the result based on its Python type.",[21,1361,1362,1365,1371,1374],{},[24,1363,1364],{},"Use square brackets for known dictionary keys",[24,1366,267,1367,1370],{},[37,1368,1369],{},".get()"," when a key might be missing",[24,1372,1373],{},"Use indexes for lists",[24,1375,1376],{},"Check the data type if you are not sure what was parsed",[807,1378,1380],{"id":1379},"access-dictionary-values","Access dictionary values",[50,1382,1384],{"className":52,"code":1383,"language":54,"meta":55,"style":55},"import json\n\njson_text = '{\"name\": \"Ana\", \"age\": 25}'\ndata = json.loads(json_text)\n\nprint(data[\"name\"])\nprint(data.get(\"age\"))\nprint(data.get(\"email\"))\n",[37,1385,1386,1392,1396,1409,1427,1431,1449,1472],{"__ignoreMap":55},[59,1387,1388,1390],{"class":61,"line":62},[59,1389,66],{"class":65},[59,1391,70],{"class":69},[59,1393,1394],{"class":61,"line":73},[59,1395,77],{"emptyLinePlaceholder":76},[59,1397,1398,1400,1402,1404,1407],{"class":61,"line":80},[59,1399,83],{"class":69},[59,1401,87],{"class":86},[59,1403,91],{"class":90},[59,1405,1406],{"class":94},"{\"name\": \"Ana\", \"age\": 25}",[59,1408,98],{"class":90},[59,1410,1411,1413,1415,1417,1419,1421,1423,1425],{"class":61,"line":101},[59,1412,104],{"class":69},[59,1414,87],{"class":86},[59,1416,109],{"class":69},[59,1418,113],{"class":112},[59,1420,117],{"class":116},[59,1422,120],{"class":112},[59,1424,123],{"class":116},[59,1426,126],{"class":112},[59,1428,1429],{"class":61,"line":129},[59,1430,77],{"emptyLinePlaceholder":76},[59,1432,1433,1435,1437,1439,1441,1443,1445,1447],{"class":61,"line":134},[59,1434,138],{"class":137},[59,1436,120],{"class":112},[59,1438,143],{"class":116},[59,1440,157],{"class":112},[59,1442,160],{"class":90},[59,1444,163],{"class":94},[59,1446,160],{"class":90},[59,1448,168],{"class":112},[59,1450,1451,1453,1455,1457,1459,1462,1464,1466,1468,1470],{"class":61,"line":148},[59,1452,138],{"class":137},[59,1454,120],{"class":112},[59,1456,143],{"class":116},[59,1458,113],{"class":112},[59,1460,1461],{"class":116},"get",[59,1463,120],{"class":112},[59,1465,160],{"class":90},[59,1467,184],{"class":94},[59,1469,160],{"class":90},[59,1471,464],{"class":112},[59,1473,1474,1476,1478,1480,1482,1484,1486,1488,1491,1493],{"class":61,"line":171},[59,1475,138],{"class":137},[59,1477,120],{"class":112},[59,1479,143],{"class":116},[59,1481,113],{"class":112},[59,1483,1461],{"class":116},[59,1485,120],{"class":112},[59,1487,160],{"class":90},[59,1489,1490],{"class":94},"email",[59,1492,160],{"class":90},[59,1494,464],{"class":112},[14,1496,1497],{},[192,1498,194],{},[50,1500,1502],{"className":52,"code":1501,"language":54,"meta":55,"style":55},"Ana\n25\nNone\n",[37,1503,1504,1508,1512],{"__ignoreMap":55},[59,1505,1506],{"class":61,"line":62},[59,1507,259],{"class":69},[59,1509,1510],{"class":61,"line":73},[59,1511,264],{"class":235},[59,1513,1514],{"class":61,"line":80},[59,1515,582],{"class":250},[14,1517,1518,1519,1521],{},"Why use ",[37,1520,1369],{},"?",[21,1523,1524,1530,1539],{},[24,1525,1526,1529],{},[37,1527,1528],{},"data[\"age\"]"," works if the key exists",[24,1531,1532,1535,1536,1538],{},[37,1533,1534],{},"data.get(\"email\")"," returns ",[37,1537,348],{}," if the key is missing",[24,1540,1541],{},"This helps you avoid some errors when data is incomplete",[14,1543,1544,1545,113],{},"If you keep getting missing-key problems, see ",[587,1546,1548,1549,1552],{"href":1547},"\u002Ferrors\u002Fkeyerror-when-accessing-dictionary-values-fix","how to fix ",[37,1550,1551],{},"KeyError"," when accessing dictionary values",[807,1554,1556],{"id":1555},"access-list-items","Access list items",[50,1558,1560],{"className":52,"code":1559,"language":54,"meta":55,"style":55},"import json\n\njson_text = '[\"red\", \"green\", \"blue\"]'\ndata = json.loads(json_text)\n\nprint(data[0])\nprint(data[1])\n",[37,1561,1562,1568,1572,1585,1603,1607,1621],{"__ignoreMap":55},[59,1563,1564,1566],{"class":61,"line":62},[59,1565,66],{"class":65},[59,1567,70],{"class":69},[59,1569,1570],{"class":61,"line":73},[59,1571,77],{"emptyLinePlaceholder":76},[59,1573,1574,1576,1578,1580,1583],{"class":61,"line":80},[59,1575,83],{"class":69},[59,1577,87],{"class":86},[59,1579,91],{"class":90},[59,1581,1582],{"class":94},"[\"red\", \"green\", \"blue\"]",[59,1584,98],{"class":90},[59,1586,1587,1589,1591,1593,1595,1597,1599,1601],{"class":61,"line":101},[59,1588,104],{"class":69},[59,1590,87],{"class":86},[59,1592,109],{"class":69},[59,1594,113],{"class":112},[59,1596,117],{"class":116},[59,1598,120],{"class":112},[59,1600,123],{"class":116},[59,1602,126],{"class":112},[59,1604,1605],{"class":61,"line":129},[59,1606,77],{"emptyLinePlaceholder":76},[59,1608,1609,1611,1613,1615,1617,1619],{"class":61,"line":134},[59,1610,138],{"class":137},[59,1612,120],{"class":112},[59,1614,143],{"class":116},[59,1616,157],{"class":112},[59,1618,900],{"class":235},[59,1620,168],{"class":112},[59,1622,1623,1625,1627,1629,1631,1634],{"class":61,"line":148},[59,1624,138],{"class":137},[59,1626,120],{"class":112},[59,1628,143],{"class":116},[59,1630,157],{"class":112},[59,1632,1633],{"class":235},"1",[59,1635,168],{"class":112},[14,1637,1638],{},[192,1639,194],{},[50,1641,1643],{"className":52,"code":1642,"language":54,"meta":55,"style":55},"red\ngreen\n",[37,1644,1645,1650],{"__ignoreMap":55},[59,1646,1647],{"class":61,"line":62},[59,1648,1649],{"class":69},"red\n",[59,1651,1652],{"class":61,"line":73},[59,1653,1654],{"class":69},"green\n",[807,1656,1658],{"id":1657},"check-the-parsed-type-first","Check the parsed type first",[14,1660,1661],{},"If you are not sure whether the parsed result is a dictionary or a list, inspect it first.",[50,1663,1665],{"className":52,"code":1664,"language":54,"meta":55,"style":55},"import json\n\njson_text = '[{\"name\": \"Ana\"}, {\"name\": \"Ben\"}]'\ndata = json.loads(json_text)\n\nprint(type(data))\nprint(data)\n",[37,1666,1667,1673,1677,1690,1708,1712,1726],{"__ignoreMap":55},[59,1668,1669,1671],{"class":61,"line":62},[59,1670,66],{"class":65},[59,1672,70],{"class":69},[59,1674,1675],{"class":61,"line":73},[59,1676,77],{"emptyLinePlaceholder":76},[59,1678,1679,1681,1683,1685,1688],{"class":61,"line":80},[59,1680,83],{"class":69},[59,1682,87],{"class":86},[59,1684,91],{"class":90},[59,1686,1687],{"class":94},"[{\"name\": \"Ana\"}, {\"name\": \"Ben\"}]",[59,1689,98],{"class":90},[59,1691,1692,1694,1696,1698,1700,1702,1704,1706],{"class":61,"line":101},[59,1693,104],{"class":69},[59,1695,87],{"class":86},[59,1697,109],{"class":69},[59,1699,113],{"class":112},[59,1701,117],{"class":116},[59,1703,120],{"class":112},[59,1705,123],{"class":116},[59,1707,126],{"class":112},[59,1709,1710],{"class":61,"line":129},[59,1711,77],{"emptyLinePlaceholder":76},[59,1713,1714,1716,1718,1720,1722,1724],{"class":61,"line":134},[59,1715,138],{"class":137},[59,1717,120],{"class":112},[59,1719,457],{"class":456},[59,1721,120],{"class":112},[59,1723,143],{"class":116},[59,1725,464],{"class":112},[59,1727,1728,1730,1732,1734],{"class":61,"line":148},[59,1729,138],{"class":137},[59,1731,120],{"class":112},[59,1733,143],{"class":116},[59,1735,126],{"class":112},[14,1737,1738],{},[192,1739,194],{},[50,1741,1743],{"className":52,"code":1742,"language":54,"meta":55,"style":55},"\u003Cclass 'list'>\n[{'name': 'Ana'}, {'name': 'Ben'}]\n",[37,1744,1745,1759],{"__ignoreMap":55},[59,1746,1747,1749,1751,1753,1755,1757],{"class":61,"line":62},[59,1748,543],{"class":86},[59,1750,547],{"class":546},[59,1752,91],{"class":90},[59,1754,568],{"class":94},[59,1756,207],{"class":90},[59,1758,557],{"class":86},[59,1760,1761,1764,1766,1768,1770,1772,1774,1776,1778,1781,1784,1786,1788,1790,1792,1794,1797,1799],{"class":61,"line":73},[59,1762,1763],{"class":112},"[{",[59,1765,207],{"class":90},[59,1767,163],{"class":94},[59,1769,207],{"class":90},[59,1771,214],{"class":112},[59,1773,91],{"class":90},[59,1775,219],{"class":94},[59,1777,207],{"class":90},[59,1779,1780],{"class":112},"},",[59,1782,1783],{"class":112}," {",[59,1785,207],{"class":90},[59,1787,163],{"class":94},[59,1789,207],{"class":90},[59,1791,214],{"class":112},[59,1793,91],{"class":90},[59,1795,1796],{"class":94},"Ben",[59,1798,207],{"class":90},[59,1800,1801],{"class":112},"}]\n",[14,1803,1804,1805,1807],{},"This tells you that ",[37,1806,143],{}," is a list, so you need an index first:",[50,1809,1811],{"className":52,"code":1810,"language":54,"meta":55,"style":55},"print(data[0][\"name\"])\n",[37,1812,1813],{"__ignoreMap":55},[59,1814,1815,1817,1819,1821,1823,1825,1828,1830,1832,1834],{"class":61,"line":62},[59,1816,138],{"class":137},[59,1818,120],{"class":112},[59,1820,143],{"class":116},[59,1822,157],{"class":112},[59,1824,900],{"class":235},[59,1826,1827],{"class":112},"][",[59,1829,160],{"class":90},[59,1831,163],{"class":94},[59,1833,160],{"class":90},[59,1835,168],{"class":112},[45,1837,1839],{"id":1838},"common-parsing-errors-and-what-they-mean","Common parsing errors and what they mean",[14,1841,1842],{},"A few small mistakes can stop JSON from parsing.",[14,1844,1845],{},"Common problems:",[21,1847,1848,1851,1854,1857,1860],{},[24,1849,1850],{},"Invalid JSON format causes a decoding error",[24,1852,1853],{},"Single quotes are not valid in JSON strings",[24,1855,1856],{},"Trailing commas can break parsing",[24,1858,1859],{},"Trying to parse plain Python dict text is not the same as JSON",[24,1861,1862,1863],{},"A missing key after parsing can cause ",[37,1864,1551],{},[807,1866,1868],{"id":1867},"example-single-quotes-are-not-valid-json","Example: single quotes are not valid JSON",[14,1870,1871,1872,1875],{},"This is ",[192,1873,1874],{},"not"," valid JSON:",[50,1877,1879],{"className":52,"code":1878,"language":54,"meta":55,"style":55},"import json\n\njson_text = \"{'name': 'Ana'}\"\ndata = json.loads(json_text)\n",[37,1880,1881,1887,1891,1905],{"__ignoreMap":55},[59,1882,1883,1885],{"class":61,"line":62},[59,1884,66],{"class":65},[59,1886,70],{"class":69},[59,1888,1889],{"class":61,"line":73},[59,1890,77],{"emptyLinePlaceholder":76},[59,1892,1893,1895,1897,1899,1902],{"class":61,"line":80},[59,1894,83],{"class":69},[59,1896,87],{"class":86},[59,1898,1036],{"class":90},[59,1900,1901],{"class":94},"{'name': 'Ana'}",[59,1903,1904],{"class":90},"\"\n",[59,1906,1907,1909,1911,1913,1915,1917,1919,1921],{"class":61,"line":101},[59,1908,104],{"class":69},[59,1910,87],{"class":86},[59,1912,109],{"class":69},[59,1914,113],{"class":112},[59,1916,117],{"class":116},[59,1918,120],{"class":112},[59,1920,123],{"class":116},[59,1922,126],{"class":112},[14,1924,1925],{},"This will raise a decoding error because JSON requires double quotes around keys and string values.",[14,1927,1928],{},"Correct version:",[50,1930,1932],{"className":52,"code":1931,"language":54,"meta":55,"style":55},"import json\n\njson_text = '{\"name\": \"Ana\"}'\ndata = json.loads(json_text)\n\nprint(data)\n",[37,1933,1934,1940,1944,1957,1975,1979],{"__ignoreMap":55},[59,1935,1936,1938],{"class":61,"line":62},[59,1937,66],{"class":65},[59,1939,70],{"class":69},[59,1941,1942],{"class":61,"line":73},[59,1943,77],{"emptyLinePlaceholder":76},[59,1945,1946,1948,1950,1952,1955],{"class":61,"line":80},[59,1947,83],{"class":69},[59,1949,87],{"class":86},[59,1951,91],{"class":90},[59,1953,1954],{"class":94},"{\"name\": \"Ana\"}",[59,1956,98],{"class":90},[59,1958,1959,1961,1963,1965,1967,1969,1971,1973],{"class":61,"line":101},[59,1960,104],{"class":69},[59,1962,87],{"class":86},[59,1964,109],{"class":69},[59,1966,113],{"class":112},[59,1968,117],{"class":116},[59,1970,120],{"class":112},[59,1972,123],{"class":116},[59,1974,126],{"class":112},[59,1976,1977],{"class":61,"line":129},[59,1978,77],{"emptyLinePlaceholder":76},[59,1980,1981,1983,1985,1987],{"class":61,"line":134},[59,1982,138],{"class":137},[59,1984,120],{"class":112},[59,1986,143],{"class":116},[59,1988,126],{"class":112},[807,1990,1992],{"id":1991},"example-trailing-comma","Example: trailing comma",[14,1994,1995],{},"This is also invalid JSON:",[50,1997,1999],{"className":52,"code":1998,"language":54,"meta":55,"style":55},"import json\n\njson_text = '{\"name\": \"Ana\",}'\ndata = json.loads(json_text)\n",[37,2000,2001,2007,2011,2024],{"__ignoreMap":55},[59,2002,2003,2005],{"class":61,"line":62},[59,2004,66],{"class":65},[59,2006,70],{"class":69},[59,2008,2009],{"class":61,"line":73},[59,2010,77],{"emptyLinePlaceholder":76},[59,2012,2013,2015,2017,2019,2022],{"class":61,"line":80},[59,2014,83],{"class":69},[59,2016,87],{"class":86},[59,2018,91],{"class":90},[59,2020,2021],{"class":94},"{\"name\": \"Ana\",}",[59,2023,98],{"class":90},[59,2025,2026,2028,2030,2032,2034,2036,2038,2040],{"class":61,"line":101},[59,2027,104],{"class":69},[59,2029,87],{"class":86},[59,2031,109],{"class":69},[59,2033,113],{"class":112},[59,2035,117],{"class":116},[59,2037,120],{"class":112},[59,2039,123],{"class":116},[59,2041,126],{"class":112},[14,2043,2044,2045,2048],{},"The comma before ",[37,2046,2047],{},"}"," makes the JSON invalid.",[14,2050,1928],{},[50,2052,2053],{"className":52,"code":1931,"language":54,"meta":55,"style":55},[37,2054,2055,2061,2065,2077,2095,2099],{"__ignoreMap":55},[59,2056,2057,2059],{"class":61,"line":62},[59,2058,66],{"class":65},[59,2060,70],{"class":69},[59,2062,2063],{"class":61,"line":73},[59,2064,77],{"emptyLinePlaceholder":76},[59,2066,2067,2069,2071,2073,2075],{"class":61,"line":80},[59,2068,83],{"class":69},[59,2070,87],{"class":86},[59,2072,91],{"class":90},[59,2074,1954],{"class":94},[59,2076,98],{"class":90},[59,2078,2079,2081,2083,2085,2087,2089,2091,2093],{"class":61,"line":101},[59,2080,104],{"class":69},[59,2082,87],{"class":86},[59,2084,109],{"class":69},[59,2086,113],{"class":112},[59,2088,117],{"class":116},[59,2090,120],{"class":112},[59,2092,123],{"class":116},[59,2094,126],{"class":112},[59,2096,2097],{"class":61,"line":129},[59,2098,77],{"emptyLinePlaceholder":76},[59,2100,2101,2103,2105,2107],{"class":61,"line":134},[59,2102,138],{"class":137},[59,2104,120],{"class":112},[59,2106,143],{"class":116},[59,2108,126],{"class":112},[807,2110,2112],{"id":2111},"example-python-dictionary-text-is-not-always-json","Example: Python dictionary text is not always JSON",[14,2114,2115],{},"Beginners sometimes confuse Python dictionary syntax with JSON syntax.",[14,2117,2118],{},"Python dict:",[50,2120,2122],{"className":52,"code":2121,"language":54,"meta":55,"style":55},"{'name': 'Ana', 'active': True}\n",[37,2123,2124],{"__ignoreMap":55},[59,2125,2126,2128,2130,2132,2134,2136,2138,2140,2142,2144,2146,2148,2150,2152,2155],{"class":61,"line":62},[59,2127,204],{"class":112},[59,2129,207],{"class":90},[59,2131,163],{"class":94},[59,2133,207],{"class":90},[59,2135,214],{"class":112},[59,2137,91],{"class":90},[59,2139,219],{"class":94},[59,2141,207],{"class":90},[59,2143,224],{"class":112},[59,2145,91],{"class":90},[59,2147,505],{"class":94},[59,2149,207],{"class":90},[59,2151,214],{"class":112},[59,2153,2154],{"class":250}," True",[59,2156,254],{"class":112},[14,2158,2159],{},"JSON text:",[50,2161,2163],{"className":1014,"code":2162,"language":612,"meta":55,"style":55},"{\"name\": \"Ana\", \"active\": true}\n",[37,2164,2165],{"__ignoreMap":55},[59,2166,2167,2169,2171,2173,2175,2177,2179,2181,2183,2185,2187,2189,2191,2193,2196],{"class":61,"line":62},[59,2168,204],{"class":112},[59,2170,160],{"class":250},[59,2172,163],{"class":1029},[59,2174,160],{"class":250},[59,2176,214],{"class":112},[59,2178,1036],{"class":90},[59,2180,219],{"class":94},[59,2182,160],{"class":90},[59,2184,224],{"class":112},[59,2186,1036],{"class":250},[59,2188,505],{"class":1029},[59,2190,160],{"class":250},[59,2192,214],{"class":112},[59,2194,2195],{"class":250}," true",[59,2197,254],{"class":112},[14,2199,2200],{},"Key differences:",[21,2202,2203,2206,2217],{},[24,2204,2205],{},"JSON uses double quotes",[24,2207,2208,2209,2211,2212,2214,2215],{},"JSON uses ",[37,2210,329],{},", ",[37,2213,332],{},", and ",[37,2216,344],{},[24,2218,2219,2220,2211,2222,2214,2224],{},"Python uses ",[37,2221,336],{},[37,2223,339],{},[37,2225,348],{},[14,2227,2228,2229,113],{},"If your JSON is invalid, see ",[587,2230,1548,2232,2235],{"href":2231},"\u002Ferrors\u002Fsyntaxerror-unexpected-eof-while-parsing-fix",[37,2233,2234],{},"JSONDecodeError"," for invalid JSON",[45,2237,2239],{"id":2238},"simple-debugging-steps","Simple debugging steps",[14,2241,2242],{},"If parsing fails, try these steps:",[21,2244,2245,2248,2251,2254,2260],{},[24,2246,2247],{},"Print the raw JSON before parsing",[24,2249,2250],{},"Check that keys and string values use double quotes",[24,2252,2253],{},"Confirm whether your input is a string or a file",[24,2255,267,2256,2259],{},[37,2257,2258],{},"type()"," to inspect the parsed result",[24,2261,2262],{},"Start with a small JSON example if parsing fails",[14,2264,2265],{},"Useful commands:",[50,2267,2269],{"className":52,"code":2268,"language":54,"meta":55,"style":55},"print(json_text)\nprint(type(data))\nprint(data)\nprint(data.keys())\n",[37,2270,2271,2281,2295,2305],{"__ignoreMap":55},[59,2272,2273,2275,2277,2279],{"class":61,"line":62},[59,2274,138],{"class":137},[59,2276,120],{"class":112},[59,2278,123],{"class":116},[59,2280,126],{"class":112},[59,2282,2283,2285,2287,2289,2291,2293],{"class":61,"line":73},[59,2284,138],{"class":137},[59,2286,120],{"class":112},[59,2288,457],{"class":456},[59,2290,120],{"class":112},[59,2292,143],{"class":116},[59,2294,464],{"class":112},[59,2296,2297,2299,2301,2303],{"class":61,"line":80},[59,2298,138],{"class":137},[59,2300,120],{"class":112},[59,2302,143],{"class":116},[59,2304,126],{"class":112},[59,2306,2307,2309,2311,2313,2315,2318],{"class":61,"line":101},[59,2308,138],{"class":137},[59,2310,120],{"class":112},[59,2312,143],{"class":116},[59,2314,113],{"class":112},[59,2316,2317],{"class":116},"keys",[59,2319,2320],{"class":112},"())\n",[14,2322,2323],{},"You can also validate a JSON file from the command line:",[50,2325,2329],{"className":2326,"code":2327,"language":2328,"meta":55,"style":55},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark","python -m json.tool data.json\n","bash",[37,2330,2331],{"__ignoreMap":55},[59,2332,2333,2336,2340,2343],{"class":61,"line":62},[59,2334,54],{"class":2335},"sbgvK",[59,2337,2339],{"class":2338},"stzsN"," -m",[59,2341,2342],{"class":94}," json.tool",[59,2344,2345],{"class":94}," data.json\n",[14,2347,2348],{},"That command helps you check whether a file contains valid JSON.",[45,2350,2352],{"id":2351},"common-mistakes","Common mistakes",[14,2354,2355],{},"These are some very common beginner mistakes:",[21,2357,2358,2364,2369,2372,2377,2380],{},[24,2359,2360,2361,2363],{},"Using ",[37,2362,43],{}," on a string instead of a file object",[24,2365,2360,2366,2368],{},[37,2367,39],{}," on a file object instead of file content",[24,2370,2371],{},"Using single quotes in JSON text",[24,2373,2374,2375],{},"Forgetting to import ",[37,2376,612],{},[24,2378,2379],{},"Assuming parsed data is always a dictionary",[24,2381,2382],{},"Accessing keys that do not exist",[14,2384,2385,2386,40,2389,214],{},"Example of mixing up ",[37,2387,2388],{},"load()",[37,2390,2391],{},"loads()",[50,2393,2395],{"className":52,"code":2394,"language":54,"meta":55,"style":55},"import json\n\njson_text = '{\"name\": \"Ana\"}'\n\n# Correct for a string\ndata = json.loads(json_text)\n\nprint(data[\"name\"])\n",[37,2396,2397,2403,2407,2419,2423,2429,2447,2451],{"__ignoreMap":55},[59,2398,2399,2401],{"class":61,"line":62},[59,2400,66],{"class":65},[59,2402,70],{"class":69},[59,2404,2405],{"class":61,"line":73},[59,2406,77],{"emptyLinePlaceholder":76},[59,2408,2409,2411,2413,2415,2417],{"class":61,"line":80},[59,2410,83],{"class":69},[59,2412,87],{"class":86},[59,2414,91],{"class":90},[59,2416,1954],{"class":94},[59,2418,98],{"class":90},[59,2420,2421],{"class":61,"line":101},[59,2422,77],{"emptyLinePlaceholder":76},[59,2424,2425],{"class":61,"line":129},[59,2426,2428],{"class":2427},"sutJx","# Correct for a string\n",[59,2430,2431,2433,2435,2437,2439,2441,2443,2445],{"class":61,"line":134},[59,2432,104],{"class":69},[59,2434,87],{"class":86},[59,2436,109],{"class":69},[59,2438,113],{"class":112},[59,2440,117],{"class":116},[59,2442,120],{"class":112},[59,2444,123],{"class":116},[59,2446,126],{"class":112},[59,2448,2449],{"class":61,"line":148},[59,2450,77],{"emptyLinePlaceholder":76},[59,2452,2453,2455,2457,2459,2461,2463,2465,2467],{"class":61,"line":171},[59,2454,138],{"class":137},[59,2456,120],{"class":112},[59,2458,143],{"class":116},[59,2460,157],{"class":112},[59,2462,160],{"class":90},[59,2464,163],{"class":94},[59,2466,160],{"class":90},[59,2468,168],{"class":112},[14,2470,2471],{},"Remember:",[21,2473,2474,2479],{},[24,2475,2476,2478],{},[37,2477,1177],{}," = file",[24,2480,2481,2483],{},[37,2482,117],{}," = string",[14,2485,2486,2487,2489],{},"A simple way to remember it is that ",[37,2488,2391],{}," means “load string”.",[45,2491,2493],{"id":2492},"faq","FAQ",[807,2495,2497,2498,40,2500,1521],{"id":2496},"what-is-the-difference-between-jsonload-and-jsonloads","What is the difference between ",[37,2499,43],{},[37,2501,39],{},[14,2503,2504,2506,2507,2509],{},[37,2505,43],{}," reads JSON from a file object. ",[37,2508,39],{}," reads JSON from a string.",[807,2511,2513],{"id":2512},"does-parsing-json-return-a-dictionary-every-time","Does parsing JSON return a dictionary every time?",[14,2515,2516,2517,2519],{},"No. It can return a dictionary, list, string, number, boolean, or ",[37,2518,348],{}," depending on the JSON.",[807,2521,2523],{"id":2522},"why-does-my-json-fail-to-parse","Why does my JSON fail to parse?",[14,2525,2526],{},"Common reasons are single quotes, trailing commas, or invalid formatting.",[807,2528,2530],{"id":2529},"how-do-i-get-a-value-from-parsed-json-safely","How do I get a value from parsed JSON safely?",[14,2532,2533,2534,2536],{},"If the result is a dictionary, use ",[37,2535,1369],{}," for keys that may be missing.",[45,2538,2540],{"id":2539},"see-also","See also",[21,2542,2543,2547,2553,2559,2565,2571,2578],{},[24,2544,2545],{},[587,2546,590],{"href":589},[24,2548,2549],{},[587,2550,2551,805],{"href":802},[37,2552,39],{},[24,2554,2555],{},[587,2556,2557,805],{"href":1350},[37,2558,43],{},[24,2560,2561],{},[587,2562,2564],{"href":2563},"\u002Fhow-to\u002Fhow-to-convert-dictionary-to-json-in-python\u002F","How to convert a dictionary to JSON in Python",[24,2566,2567],{},[587,2568,2570],{"href":2569},"\u002Fhow-to\u002Fhow-to-pretty-print-json-in-python\u002F","How to pretty-print JSON in Python",[24,2572,2573],{},[587,2574,2575,2576,1552],{"href":1547},"Fix ",[37,2577,1551],{},[24,2579,2580],{},[587,2581,2575,2582,2235],{"href":2231},[37,2583,2234],{},[14,2585,2586],{},"Once you are comfortable parsing JSON, the next useful step is working with JSON files and API responses.",[2588,2589,2590],"style",{},"html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .slqww, html code.shiki .slqww{--shiki-light:#6182B8;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sptTA, html code.shiki .sptTA{--shiki-light:#6182B8;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sseR_, html code.shiki .sseR_{--shiki-light:#9C3EDA;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .sMMDD, html code.shiki .sMMDD{--shiki-light:#90A4AE;--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .stzsN, html code.shiki .stzsN{--shiki-light:#91B859;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}",{"title":55,"searchDepth":73,"depth":73,"links":2592},[2593,2594,2595,2596,2600,2602,2607,2612,2613,2614,2621],{"id":47,"depth":73,"text":48},{"id":276,"depth":73,"text":277},{"id":295,"depth":73,"text":296},{"id":593,"depth":73,"text":2597,"children":2598},"Parse JSON from a string with json.loads()",[2599],{"id":809,"depth":80,"text":810},{"id":968,"depth":73,"text":2601},"Parse JSON from a file with json.load()",{"id":1355,"depth":73,"text":1356,"children":2603},[2604,2605,2606],{"id":1379,"depth":80,"text":1380},{"id":1555,"depth":80,"text":1556},{"id":1657,"depth":80,"text":1658},{"id":1838,"depth":73,"text":1839,"children":2608},[2609,2610,2611],{"id":1867,"depth":80,"text":1868},{"id":1991,"depth":80,"text":1992},{"id":2111,"depth":80,"text":2112},{"id":2238,"depth":73,"text":2239},{"id":2351,"depth":73,"text":2352},{"id":2492,"depth":73,"text":2493,"children":2615},[2616,2618,2619,2620],{"id":2496,"depth":80,"text":2617},"What is the difference between json.load() and json.loads()?",{"id":2512,"depth":80,"text":2513},{"id":2522,"depth":80,"text":2523},{"id":2529,"depth":80,"text":2530},{"id":2539,"depth":73,"text":2540},"Master how to parse json in python in our comprehensive Python beginner guide.","md",{},"\u002Fhow-to\u002Fhow-to-parse-json-in-python",{"title":5,"description":2622},"how-to\u002Fhow-to-parse-json-in-python","6dUCxsVSxxV7JEy6QC1-kzAdLaYRqrZsa1B5XLW9YM8",1777585499279]