convert_a_string_to_a_dictionary
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
convert_a_string_to_a_dictionary [2023/02/26 03:10] – created raju | convert_a_string_to_a_dictionary [2023/02/26 03:28] (current) – [ast.literaleval] raju | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== Convert a string to a dictionary ===== | ===== Convert a string to a dictionary ===== | ||
+ | ==== ast.literaleval ==== | ||
You can use ast.literaleval from the ast (Abstract Syntax Trees) module. | You can use ast.literaleval from the ast (Abstract Syntax Trees) module. | ||
Line 28: | Line 29: | ||
See also: | See also: | ||
- | * https:// | ||
* https:// | * https:// | ||
- | + | ==== json.loads ==== | |
- | Another approach is to use json.loads . But its decoder wants double quotes around | + | Another approach is to use json.loads . But its decoder wants double quotes around |
< | < | ||
- | In [4]: | + | In [1]: |
s = " | s = " | ||
+ | |||
+ | |||
+ | In [2]: | ||
import json | import json | ||
- | json.loads(s.replace("'", | + | json.loads(s) |
- | Out[4]: | + | ... |
+ | JSONDecodeError: | ||
+ | </ | ||
+ | |||
+ | One workaround is to replace single quotes with double quotes | ||
+ | < | ||
+ | In [3]: | ||
+ | s2 = s.replace("'", | ||
+ | json.loads(s2) | ||
+ | Out[3]: | ||
{' | {' | ||
- | In [5]: | + | In [4]: |
- | type(json.loads(s.replace("'", | + | type(json.loads(s2)) |
- | Out[5]: | + | Out[4]: |
dict | dict | ||
</ | </ | ||
convert_a_string_to_a_dictionary.1677381022.txt.gz · Last modified: 2023/02/26 03:10 by raju