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