मेरे पास 3 नेस्टेड सरणियों के साथ एक साधारण php संरचना है।
मैं विशेष वस्तुओं का उपयोग नहीं करता हूं और मैं खुद को 2 नेस्टेड छोरों के साथ सरणियों का निर्माण करता हूं।
यहाँ उस सरणी के var_dump का एक नमूना है जिसे मैं Json में बदलना चाहता हूँ।
array (size=2)
'tram B' =>
array (size=2)
0 =>
array (size=3)
'name' => string 'Ile Verte' (length=9)
'distance' => int 298
'stationID' => int 762
1 =>
array (size=3)
'name' => string 'La Tronche Hôpital' (length=18)
'distance' => int 425
'stationID' => int 771
16 =>
array (size=4)
0 =>
array (size=3)
'name' => string 'Bastille' (length=8)
'distance' => int 531
'stationID' => int 397
1 =>
array (size=3)
'name' => string 'Xavier Jouvin' (length=13)
'distance' => int 589
'stationID' => int 438
एक अन्य स्क्रिप्ट में मेरे पास एक समान संरचना है और json_encodeठीक काम करता है। इसलिए मुझे समझ नहीं आया कि json_encodeयहां काम क्यों नहीं होगा।
संपादित करें: एन्कोडिंग के साथ एक समस्या प्रतीत होती है। जब mb_detect_encodingASCII देता है, तो json_encodeकाम करता है, लेकिन जब वह UTF8 लौटाता है, तो वह काम नहीं करता है।
Edit2: json_last_error()रिटर्न JSON_ERROR_UTF8जिसका मतलब है: विकृत UTF-8 वर्ण, संभवतः गलत तरीके से एन्कोड किया गया ।
utf8_encode()अपने nameसरणी फ़ील्ड पर उपयोग करने का प्रयास करें json_encode()।
JSON_PARTIAL_OUTPUT_ON_ERRORविकल्प का उपयोग करें (जैसे UTF8 के साथ फ़ील्ड शून्य होगा)।
This function only works with UTF-8 encoded data.है कि एन्कोडिंग के साथ कोई समस्या नहीं होनी चाहिए।