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