2011-11-11 12 views
5

में इस्तेमाल करने के लिए किया जा मुझे पता है कि यह वास्तव में बुनियादी है, लेकिन मैं हर जगह देखा है और मैं नहीं कर सकते सही जवाब खोजने के। How to format list in PHP to be used as an NSArray in Objective C?एन्कोडिंग JSON iPhone एप्लिकेशन

मैं एक छोटी PHP स्क्रिप्ट लिखने के लिए कोशिश कर रहे हैं (यह बारे में कुछ नहीं जानते हुए भी) कि मेरे iphone एप्लिकेशन आदेश मदों की एक सूची प्राप्त करने के लिए फोन करेगा:

मेरा एक पिछले प्रश्न के संदर्भ में

। मैंने केवल ईसीएचओ का उपयोग करने के बारे में सोचा, क्योंकि मुझे वास्तव में वस्तुओं की एक से अधिक सरणी भेजने की आवश्यकता नहीं है, लेकिन JSON या XML का उपयोग करने की सलाह दी गई थी, इसलिए JSON चुना।

मैं एक तरह से JSON करने के लिए सरणी और केवल एक चीज मैं मिल सकता है एन्कोड करने के लिए देख रहा हूँ json_encode जो does not एक JSON संरचना प्रदान करने के लिए लग रहे थे। यहां मेरा PHP कोड है:

<?php 

$arr = array ('a', 'b','c','d','e'); 
echo json_encode($arr); 

?> 

क्या मुझे इसका उपयोग करना चाहिए? क्या मैं गलत हूं? बहुत बहुत धन्यवाद।

संपादित करें:

उत्पादन Thats जब टर्मिनल में इस PHP स्क्रिप्ट चल:

[ "एक", "बी", "सी", "डी", "ई"]

जहां तक ​​मुझे पता है कि यह एक JSON संरचना नहीं है, लेकिन फिर से, मुझे इसके बारे में कुछ भी नहीं पता है।

+1

आप उस पृष्ठ का पता आप मूल रूप से सरणी json के रूप में एन्कोड हो जाएगी साथ iOS पर एक यूआरएल अनुरोध करना है, तो आप आईओएस – Daniel

+1

पर एक NSArray में डिकोड लगा सकते तुम क्यों विश्वास है कि json_encode नहीं है एक JSON संरचना प्रदान करना? –

+0

@JasonMcClellan - मेरे संपादन देखें। – TommyG

उत्तर

4

कि के रूप में तक मुझे पता है सही है।

$arr = array ('a'=>'a value', 'b'=>'b value','c'=>'c value'); 
echo json_encode($arr); 
$arr = array ('a', 'b','c'); 
echo json_encode($arr); 

आप देना चाहिए:

{"a":"a value","b":"b value","c":"c value"} 
["a","b","c"] 

के रूप में @ से बताया

एक अच्छा तरीका है या नहीं, अपने मान्य JSON है परीक्षण करने के लिए उपयोग करने के लिए http://jsonlint.com/

विस्तार करने के लिए है जेसन मैकलेलन, दूसरा भी सही है।

तो, हाँ आप कुछ जावास्क्रिप्ट द्वारा पठनीय करने के लिए एक सरणी एन्कोड करने के लिए सही काम कर रहे हैं।

अन्य समारोह json_decode($json); जो स्पष्ट रूप से json डीकोड है। यहाँ प्रलेखन: http://php.net/manual/en/function.json-encode.php

+2

JSON को कुंजी => मान जोड़े की आवश्यकता नहीं है। जेएसओएन सिर्फ जेएस वाक्यविन्यास है। इस उदाहरण में, उन्होंने एक सरणी को एन्कोड किया ताकि वह एक सरणी के लिए जेएस वाक्यविन्यास प्राप्त कर सके। यदि वह एक सहयोगी सरणी का उपयोग करता है, तो उसे किसी अज्ञात ऑब्जेक्ट के लिए जेएस सिंटैक्स मिल जाएगा, जो कि हम में से अधिकांश को जेएसओएन के बारे में सोचने के लिए उपयोग किया जाता है। –

+1

आह ... मेरी गलती, इसके लिए धन्यवाद, अद्यतन उत्तर देखें – jammypeach

संबंधित मुद्दे