Появилась необходимость поработать немного с форматом JSon Задача преобразовать csc в этот формат и прочитать... Код (Text): Есть 2 структуры: Вариант 1 1 # Вас0 # Ивано0 # Вороне0 # 1970 2 # Вас1 # Ивано1 # Вороне1 # 1971 3 # Вас2 # Ивано2 # Вороне2 # 1972 4 # Вас3 # Ивано3 # Вороне3 # 1973 Вопрос 1: a) я вот еще не понял. я так понимаю, разделитель # мне нужно заменять именами, {"id":"1", "name": "Вас0" # "suname": "Ивано0", "gorod": "Вороне0", "eyar": "1970"} или можно обойтись без нее то есть {"id": [ 1, Вас0, Ивано0,Вороне0, 1970]} //мне кажется вот здесь я ошибаюсь - мне такая бы структура была выгодней. б) как будет выглядеть структура JSon - как оптимальнее с) как обращаться ( на php) к элементам массива [ну допустим мне нужно получить год 171(если известно id)] Вариант 2 a) как будет выглядеть структура JSon - как оптимальнее b) как обращаться [php] к элементам массива [ну допустим мне нужно получить 1) название категории 2) идентификатор [6] и год [175] Категория 1 1 # Вас0 # Ивано0 # Вороне0 # 1970 2 # Вас1 # Ивано1 # Вороне1 # 1971 3 # Вас2 # Ивано2 # Вороне2 # 1972 4 # Вас3 # Ивано3 # Вороне3 # 1973 Категория 2 5 # Вит0 # Витпов0 # Липе0 # 1970 6 # Вит1 # Витопо1 # Липе1 # 1975 7 # Вит2 # Витопо2 # Липе2 # 1976 8 # Вит3 # Витопо3 # Липе3 # 1987 // если что то неясно готов уточнить.[[/php]
Из того что показано, автоматически не преобразовать. Нужно чтооб в csv первая строка была с именами... Либо просто условиться что первые данные это то, вторые другое... Пиши тип парсера , который построчно формирует ассоциативный массив, а потом его просто через json_encode() и готов json
прошу прощения примечание мне не нужно автоматически... скрипт я напишу любой (конвертер это как раз мелочи..тут ....) мне нужна структура - логическая... и как с ней работать (как доставать элементы.. при примерах используйте любые имена, как удобней... делайте любые подставки которые необходимы.. если это еще будет с комментариями хотябы коротенькими чтобы чуть понять а не тупо юзать ... это вообще суппер. (я тут просто учусь сразу практикой.... )
да конечно. на столько на сколько могу. есть файл вот с такой структурой 1 # Вас0 # Ивано0 # Вороне0 # 1970 2 # Вас1 # Ивано1 # Вороне1 # 1971 3 # Вас2 # Ивано2 # Вороне2 # 1972 4 # Вас3 # Ивано3 # Вороне3 # 1973 1) как эти вот данные записать в формате Json 2 ) не надо алгоритм преобразования 3) как эти данные будут выглядеть если бы они были в формате Json? 4) представьте что это выборка из БД (имена столбцов остсвует но нам они известны.) =============== // если верхнее понятно тогда вторая часть вопроса варианта 1. 5) сейчас после функци explode() выполненной в цикли для чтения всех строк. и помещения в массив (он получается двумерным). c ними работаем так $arrey[0][0] == (имеет значение) 1 $arrey[1][0] == (имеет значение) 2 $arrey[2][0] == (имеет значение) 3 $arrey[0][1] == (имеет значение) Вас0 $arrey[1][1] == (имеет значение) Вас1 $arrey[2][1] == (имеет значение) Вас2 А как работать этими данными в Json после json_decode ?
Что значит - как работать в json? Не надо с ними работать в этом формате.. он для того чтоб предать данные, или чтоб получить. Php имеет две функции преобразования в/из json в массивы. Работайте с массивами
отлично продолжаем. КАК мне обращаться к элементам массива ? но прежде чем обращаться к нему в него нужно что то поместить.. нужно поместить Json Json формат стандартный но разница сложностью по вложенностям исходя из потребностей. давайте сделаем простенький файл json-чик оптимальной сложности для данных, которые у казал выше ?! теперь мне кажется даже олень поймет задачу. но если не поняно давайте еще наводящие вопросы и продолжим разжевывание! // я тут читал читал - в этих учебниках вот такие примеры $obj = json_decode($json_file); $date = $obj->items[0]->gender->name; я ничего не понимаю....
Ну кашку вам жевать никто не будет 1. Прочтите про массивы. Поработайте с ними 2. Прочтите про ассоциативные массивы. Поработайте с ними. 3. Про объекты ещё... Появятся вопросы спрашивайте
не понял про кашку тут ответ на 2 строчки вот такой (только нужен правильный) $obj = json_decode("{"id":"1", "name": "Вас0" # "suname": "Ивано0", "gorod": "Вороне0", "eyar": "1970"}"); $date = $obj->items[0]; @ADSoft я вас понял , не мешайте проходите. (и не надо баловаться троллингом а я вам всеголишь подыграл...)..я сам не прочь когда не дох..т до эбеначества) --- Добавлено --- @acho некоторые самописы были написаны ДО появления этого формата. а csv используется в прикладных приложения ДО появления интернета. зачем я это переделываю > рассчитал и есть смысл в выигрыше в оптимальности.. (код меньше время выполнения скрипта меньше..) по причине начал работать много с аяксом. (до этого не приходилось) - по работе с самим аяксом вопросов не будет (там все яснее ясного и давно).
Делаете просто PHP: echo '<pre>'; print_r($obj); И наглядно на экране видите что в obj, и как к нему обращаться
Ок. это ответ на 2 вопрос как работать с массивом а как насчет первого? сам формат JSon @ADSoft, я не первый год замужем.. я отлично вижу что вы не хотите! может и не надо? зачем?- флуда много толк отсутствует.. может кто другой подскажет - а спешки у меня нету. здесь не подскажут еще форумы есть..... [а я попозже отработаю (чем смогу)- у меня в данный момент времени маловато. другие темы читать] ============== я здесь еще и цель имею - может партнер найдется немного щарящий в кодинге Идей много - одному все не попеределать (например информеры - а они вот на этой структуре будут) ... стучаться иногда.... но что то пока что были с тематикой проно на дорвеи тянут...а мне не интересно