![]() |
Attention | Topic was automatically imported from the old Question2Answer platform. |
![]() |
Asked By | kakcalu13 |
So, I got the string dict from python3 through UDP like this:
[{"number": 0, "x": 888, "y": 952, "z": 142}, {"number": 1, "x": 696, "y": 404, "z": 607}, {"number": 2, "x": 982, "y": 954, "z": 541}, {"number": 3, "x": 578, "y": 948, "z": 407}, {"number": 4, "x": 687, "y": 899, "z": 362}, {"number": 5, "x": 392, "y": 1, "z": 585}, {"number": 6, "x": 547, "y": 367, "z": 119}, {"number": 7, "x": 715, "y": 463, "z": 838}, {"number": 8, "x": 321, "y": 322, "z": 30}, {"number": 9, "x": 220, "y": 119, "z": 899}, {"number": 10, "x": 947, "y": 494, "z": 265}, {"number": 11, "x": 502, "y": 346, "z": 149}, {"number": 12, "x": 34, "y": 218, "z": 320}, {"number": 13, "x": 296, "y": 532, "z": 241}, {"number": 14, "x": 610, "y": 391, "z": 271}, {"number": 15, "x": 293, "y": 424, "z": 956}, {"number": 16, "x": 765, "y": 615, "z": 553}, {"number": 17, "x": 998, "y": 793, "z": 944}, {"number": 18, "x": 199, "y": 273, "z": 988}, {"number": 19, "x": 745, "y": 649, "z": 614}, {"number": 20, "x": 122, "y": 737, "z": 599}, {"number": 21, "x": 183, "y": 799, "z": 81}, {"number": 22, "x": 766, "y": 401, "z": 378}, {"number": 23, "x": 731, "y": 137, "z": 33}, {"number": 24, "x": 773, "y": 983, "z": 374}, {"number": 25, "x": 885, "y": 412, "z": 794}, {"number": 26, "x": 795, "y": 502, "z": 166}, {"number": 27, "x": 737, "y": 158, "z": 562}, {"number": 28, "x": 215, "y": 703, "z": 805}, {"number": 29, "x": 644, "y": 483, "z": 98}, {"number": 30, "x": 955, "y": 535, "z": 981}, {"number": 31, "x": 299, "y": 607, "z": 413}, {"number": 32, "x": 289, "y": 666, "z": 333}, {"number": 33, "x": 179, "y": 34, "z": 930}, {"number": 34, "x": 432, "y": 350, "z": 861}, {"number": 35, "x": 824, "y": 934, "z": 694}, {"number": 36, "x": 429, "y": 486, "z": 817}, {"number": 37, "x": 442, "y": 100, "z": 364}, {"number": 38, "x": 72, "y": 47, "z": 985}, {"number": 39, "x": 254, "y": 339, "z": 615}, {"number": 40, "x": 86, "y": 681, "z": 794}, {"number": 41, "x": 841, "y": 232, "z": 364}, {"number": 42, "x": 691, "y": 569, "z": 114}, {"number": 43, "x": 20, "y": 818, "z": 72}, {"number": 44, "x": 973, "y": 110, "z": 733}, {"number": 45, "x": 595, "y": 326, "z": 553}, {"number": 46, "x": 721, "y": 159, "z": 143}, {"number": 47, "x": 579, "y": 824, "z": 815}, {"number": 48, "x": 592, "y": 237, "z": 233}, {"number": 49, "x": 165, "y": 436, "z": 800}, {"number": 50, "x": 422, "y": 382, "z": 845}, {"number": 51, "x": 559, "y": 34, "z": 876}, {"number": 52, "x": 908, "y": 234, "z": 11}, {"number": 53, "x": 301, "y": 418, "z": 306}, {"number": 54, "x": 792, "y": 978, "z": 100}, {"number": 55, "x": 546, "y": 274, "z": 715}, {"number": 56, "x": 324, "y": 711, "z": 916}, {"number": 57, "x": 178, "y": 746, "z": 213}, {"number": 58, "x": 382, "y": 124, "z": 683}, {"number": 59, "x": 886, "y": 51, "z": 813}, {"number": 60, "x": 775, "y": 509, "z": 449}, {"number": 61, "x": 212, "y": 349, "z": 829}, {"number": 62, "x": 925, "y": 281, "z": 335}, {"number": 63, "x": 689, "y": 381, "z": 72}, {"number": 64, "x": 599, "y": 312, "z": 781}, {"number": 65, "x": 734, "y": 66, "z": 821}, {"number": 66, "x": 423, "y": 285, "z": 493}, {"number": 67, "x": 939, "y": 281, "z": 63}, {"number": 68, "x": 485, "y": 221, "z": 130}, {"number": 69, "x": 821, "y": 855, "z": 934}, {"number": 70, "x": 545, "y": 167, "z": 473}, {"number": 71, "x": 314, "y": 871, "z": 702}, {"number": 72, "x": 626, "y": 94, "z": 588}, {"number": 73, "x": 942, "y": 453, "z": 796}, {"number": 74, "x": 538, "y": 205, "z": 419}, {"number": 75, "x": 508, "y": 468, "z": 500}, {"number": 76, "x": 346, "y": 585, "z": 7}, {"number": 77, "x": 396, "y": 900, "z": 232}, {"number": 78, "x": 852, "y": 617, "z": 350}, {"number": 79, "x": 687, "y": 63, "z": 4}, {"number": 80, "x": 723, "y": 565, "z": 273}, {"number": 81, "x": 628, "y": 303, "z": 284}, {"number": 82, "x": 730, "y": 373, "z": 245}, {"number": 83, "x": 762, "y": 168, "z": 728}, {"number": 84, "x": 373, "y": 884, "z": 517}, {"number": 85, "x": 974, "y": 743, "z": 208}, {"number": 86, "x": 372, "y": 721, "z": 689}, {"number": 87, "x": 78, "y": 2, "z": 269}, {"number": 88, "x": 636, "y": 615, "z": 774}, {"number": 89, "x": 559, "y": 38, "z": 797}, {"number": 90, "x": 486, "y": 179, "z": 588}, {"number": 91, "x": 643, "y": 238, "z": 513}, {"number": 92, "x": 799, "y": 518, "z": 181}, {"number": 93, "x": 341, "y": 529, "z": 59}, {"number": 94, "x": 21, "y": 113, "z": 364}, {"number": 95, "x": 77, "y": 784, "z": 255}, {"number": 96, "x": 191, "y": 58, "z": 448}, {"number": 97, "x": 613, "y": 522, "z": 539}, {"number": 98, "x": 911, "y": 772, "z": 262}, {"number": 99, "x": 302, "y": 290, "z": 109}]
I was trying to convert string to dict inside gd.
So I tried examples like
var json := to_json(stored_value) ##stored_value gets from UDP
var p = JSON.parse(json)
if typeof(p.result) == TYPE_ARRAY:
print(p.result[0]) # prints 'hello'
else:
print("unexpected results")
print(value)
The output is:
unexpected results
I tried other thing:
value = parse_json(str(stored_value)).result
print(value)
error: Invalid get index 'result' (on base: 'Dictionary').
How do you convert the string dict to dict in godot where I can update data automatically by python3.
This one, I did with a hardcode (trying to avoid that) which it worked
var value=[{"number": 0, "x": 888, "y": 952, "z": 142}, {"number": 1, "x": 696, "y": 404, "z": 607}, {"number": 2, "x": 982, "y": 954, "z": 541}, {"number": 3, "x": 578, "y": 948, "z": 407}, {"number": 4, "x": 687, "y": 899, "z": 362}, {"number": 5, "x": 392, "y": 1, "z": 585}, {"number": 6, "x": 547, "y": 367, "z": 119}, {"number": 7, "x": 715, "y": 463, "z": 838}, {"number": 8, "x": 321, "y": 322, "z": 30}, {"number": 9, "x": 220, "y": 119, "z": 899}, {"number": 10, "x": 947, "y": 494, "z": 265}, {"number": 11, "x": 502, "y": 346, "z": 149}, {"number": 12, "x": 34, "y": 218, "z": 320}, {"number": 13, "x": 296, "y": 532, "z": 241}, {"number": 14, "x": 610, "y": 391, "z": 271}, {"number": 15, "x": 293, "y": 424, "z": 956}, {"number": 16, "x": 765, "y": 615, "z": 553}, {"number": 17, "x": 998, "y": 793, "z": 944}, {"number": 18, "x": 199, "y": 273, "z": 988}, {"number": 19, "x": 745, "y": 649, "z": 614}, {"number": 20, "x": 122, "y": 737, "z": 599}, {"number": 21, "x": 183, "y": 799, "z": 81}, {"number": 22, "x": 766, "y": 401, "z": 378}, {"number": 23, "x": 731, "y": 137, "z": 33}, {"number": 24, "x": 773, "y": 983, "z": 374}, {"number": 25, "x": 885, "y": 412, "z": 794}, {"number": 26, "x": 795, "y": 502, "z": 166}, {"number": 27, "x": 737, "y": 158, "z": 562}, {"number": 28, "x": 215, "y": 703, "z": 805}, {"number": 29, "x": 644, "y": 483, "z": 98}, {"number": 30, "x": 955, "y": 535, "z": 981}, {"number": 31, "x": 299, "y": 607, "z": 413}, {"number": 32, "x": 289, "y": 666, "z": 333}, {"number": 33, "x": 179, "y": 34, "z": 930}, {"number": 34, "x": 432, "y": 350, "z": 861}, {"number": 35, "x": 824, "y": 934, "z": 694}, {"number": 36, "x": 429, "y": 486, "z": 817}, {"number": 37, "x": 442, "y": 100, "z": 364}, {"number": 38, "x": 72, "y": 47, "z": 985}, {"number": 39, "x": 254, "y": 339, "z": 615}, {"number": 40, "x": 86, "y": 681, "z": 794}, {"number": 41, "x": 841, "y": 232, "z": 364}, {"number": 42, "x": 691, "y": 569, "z": 114}, {"number": 43, "x": 20, "y": 818, "z": 72}, {"number": 44, "x": 973, "y": 110, "z": 733}, {"number": 45, "x": 595, "y": 326, "z": 553}, {"number": 46, "x": 721, "y": 159, "z": 143}, {"number": 47, "x": 579, "y": 824, "z": 815}, {"number": 48, "x": 592, "y": 237, "z": 233}, {"number": 49, "x": 165, "y": 436, "z": 800}, {"number": 50, "x": 422, "y": 382, "z": 845}, {"number": 51, "x": 559, "y": 34, "z": 876}, {"number": 52, "x": 908, "y": 234, "z": 11}, {"number": 53, "x": 301, "y": 418, "z": 306}, {"number": 54, "x": 792, "y": 978, "z": 100}, {"number": 55, "x": 546, "y": 274, "z": 715}, {"number": 56, "x": 324, "y": 711, "z": 916}, {"number": 57, "x": 178, "y": 746, "z": 213}, {"number": 58, "x": 382, "y": 124, "z": 683}, {"number": 59, "x": 886, "y": 51, "z": 813}, {"number": 60, "x": 775, "y": 509, "z": 449}, {"number": 61, "x": 212, "y": 349, "z": 829}, {"number": 62, "x": 925, "y": 281, "z": 335}, {"number": 63, "x": 689, "y": 381, "z": 72}, {"number": 64, "x": 599, "y": 312, "z": 781}, {"number": 65, "x": 734, "y": 66, "z": 821}, {"number": 66, "x": 423, "y": 285, "z": 493}, {"number": 67, "x": 939, "y": 281, "z": 63}, {"number": 68, "x": 485, "y": 221, "z": 130}, {"number": 69, "x": 821, "y": 855, "z": 934}, {"number": 70, "x": 545, "y": 167, "z": 473}, {"number": 71, "x": 314, "y": 871, "z": 702}, {"number": 72, "x": 626, "y": 94, "z": 588}, {"number": 73, "x": 942, "y": 453, "z": 796}, {"number": 74, "x": 538, "y": 205, "z": 419}, {"number": 75, "x": 508, "y": 468, "z": 500}, {"number": 76, "x": 346, "y": 585, "z": 7}, {"number": 77, "x": 396, "y": 900, "z": 232}, {"number": 78, "x": 852, "y": 617, "z": 350}, {"number": 79, "x": 687, "y": 63, "z": 4}, {"number": 80, "x": 723, "y": 565, "z": 273}, {"number": 81, "x": 628, "y": 303, "z": 284}, {"number": 82, "x": 730, "y": 373, "z": 245}, {"number": 83, "x": 762, "y": 168, "z": 728}, {"number": 84, "x": 373, "y": 884, "z": 517}, {"number": 85, "x": 974, "y": 743, "z": 208}, {"number": 86, "x": 372, "y": 721, "z": 689}, {"number": 87, "x": 78, "y": 2, "z": 269}, {"number": 88, "x": 636, "y": 615, "z": 774}, {"number": 89, "x": 559, "y": 38, "z": 797}, {"number": 90, "x": 486, "y": 179, "z": 588}, {"number": 91, "x": 643, "y": 238, "z": 513}, {"number": 92, "x": 799, "y": 518, "z": 181}, {"number": 93, "x": 341, "y": 529, "z": 59}, {"number": 94, "x": 21, "y": 113, "z": 364}, {"number": 95, "x": 77, "y": 784, "z": 255}, {"number": 96, "x": 191, "y": 58, "z": 448}, {"number": 97, "x": 613, "y": 522, "z": 539}, {"number": 98, "x": 911, "y": 772, "z": 262}, {"number": 99, "x": 302, "y": 290, "z": 109}]
total = value.size()
for key in total:
x = (value[key].x)/100
y = (value[key].y)/100
z = (value[key].z)/100
current_pos = Vector3(x,y,z)
$GridMap.set_cell_item(current_pos.x, current_pos.y, current_pos.z, 0)
Only this worked because hardcode AND simply dict. I struggled to convert a string dict from either json file or UDP. I spent almost 4 hours on this trying like 10+ examples.