Hello,
I need to transform a string like "Name1:Val1|Name2:Val2" to a JSON like [{'name': 'Name1', 'value': 'Val1', 'status': 'Passed'}, {'name': 'Name2', 'value': 'Val2', 'status': 'Passed'}].
When I run my code the result is [{'name': 'Name2', 'value': 'Val2', 'status': 'Passed'}, {'name': 'Name2', 'value': 'Val2', 'status': 'Passed'}].
I get {'name': 'Name1', 'value': 'Val1', 'status': 'Passed'} from the first loop execution. But it the second loop it is replaced by {'name': 'Name2', 'value': 'Val2', 'status': 'Passed'}.
My code is:
The output is:
Thanks for your help.
I need to transform a string like "Name1:Val1|Name2:Val2" to a JSON like [{'name': 'Name1', 'value': 'Val1', 'status': 'Passed'}, {'name': 'Name2', 'value': 'Val2', 'status': 'Passed'}].
When I run my code the result is [{'name': 'Name2', 'value': 'Val2', 'status': 'Passed'}, {'name': 'Name2', 'value': 'Val2', 'status': 'Passed'}].
I get {'name': 'Name1', 'value': 'Val1', 'status': 'Passed'} from the first loop execution. But it the second loop it is replaced by {'name': 'Name2', 'value': 'Val2', 'status': 'Passed'}.
My code is:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import json group = {} tests = [] currentdata = {} str = "Name1:Val1|Name2:Val2" print ( str ) print ( "------------------------------" ) splitstr = str .split( "|" ) print (splitstr) print ( "------------------------------" ) for dataset in splitstr: data = dataset.split( ":" ) currentdata[ "name" ] = data[ 0 ] currentdata[ "value" ] = data[ 1 ] currentdata[ "status" ] = "Passed" tests.append(currentdata) print (data) print (data[ 0 ]) print (data[ 1 ]) print (currentdata) print (tests) print ( "------------------------------" ) |
Output:Name1:Val1|Name2:Val2
------------------------------
['Name1:Val1', 'Name2:Val2']
------------------------------
['Name1', 'Val1']
Name1
Val1
{'name': 'Name1', 'value': 'Val1', 'status': 'Passed'}
[{'name': 'Name1', 'value': 'Val1', 'status': 'Passed'}]
------------------------------
['Name2', 'Val2']
Name2
Val2
{'name': 'Name2', 'value': 'Val2', 'status': 'Passed'}
[{'name': 'Name2', 'value': 'Val2', 'status': 'Passed'}, {'name': 'Name2', 'value': 'Val2', 'status': 'Passed'}]
------------------------------Thanks for your help.
buran write Jan-08-2021, 05:56 PM:
Please, use proper tags when post code, traceback, output, etc. This time I have added tags for you.
See BBcode help for more info.
Please, use proper tags when post code, traceback, output, etc. This time I have added tags for you.
See BBcode help for more info.