लौटने के लिए पायथन सरलजसन का उपयोग करना मेरे पास एक जियोडजैंगो मॉडल मॉडल है जिसे मैं जेसन को क्रमबद्ध नहीं करना चाहता हूं। मैं मेरे विचार में ऐसा करते हैं:प्रीजेनरेटेड जेसन
lat = float(request.GET.get('lat'))
lng = float(request.GET.get('lng'))
a = Authority.objects.get(area__contains=Point(lng, lat))
if a:
return HttpResponse(simplejson.dumps({'name': a.name,
'area': a.area.geojson,
'id': a.id}),
mimetype='application/json')
समस्या यह है कि simplejson
एक सरल स्ट्रिंग के रूप में a.area.geojson पर विचार करती है, भले ही यह सुंदर पहले से बनाई गई json है। यह क्षेत्र में स्ट्रिंग में eval()
'द्वारा आसानी से तय किया गया है, लेकिन मैं इसे उचित करना चाहता हूं। क्या मैं simplejson
बता सकता हूं कि एक विशेष स्ट्रिंग पहले से ही जेसन है और इसका उपयोग किया जाना चाहिए (और एक साधारण स्ट्रिंग के रूप में वापस नहीं किया गया है)? या क्या कोई और कामकाज है?
अद्यतन बस स्पष्ट करने के लिए, इस json वर्तमान में लौट आए है:
{
"id": 95,
"name": "Roskilde",
"area": "{ \"type\": \"MultiPolygon\", \"coordinates\": [ [ [ [ 12.078701, 55.649927 ], ... ] ] ] }"
}
चुनौती है "क्षेत्र" एक json शब्दकोश के बजाय एक साधारण स्ट्रिंग हो।
"एक विशेष स्ट्रिंग पहले से ही जेसन है और इसका उपयोग किया जाना चाहिए?" यदि ऐसा है तो आप इसे सरल भेजकर क्यों कर रहे हैं, मैं समझता हूं कि आप पहले से ही जेसन द्वारा क्या मतलब रखते हैं? तुम्हारा मतलब एक नियम है? – Prashanth
उसका मतलब है कि a.area.geojson एक जेसन डेटा को '{"lat": 221.22, "lng": 192.222}' से डरता है। वह फिर से simplejson.dumps करने से कैसे बच सकता है? – aatifh
मैंने पाठ को स्पष्ट करने की कोशिश की है, मुझे एहसास है कि यह बहुत स्पष्ट नहीं था। – friism