AMcoder - javascript, python, java, html, php, sql

փոխել json բանալի անունը [json-ը ստեղծվել է json_encode-ի միջոցով]

Ես ստեղծում եմ json զանգվածից json_encode()-ի միջոցով, այն ճիշտ է աշխատում, բայց այն օգտագործում է զանգվածից key:value, ինչպես միշտ: բայց ես ուզում եմ փոխել բանալու անունը միայն json ելքում.. հնարավո՞ր է դա անել: թե՞ պետք է ինքս ձեռքով պատրաստեմ json key:values-ը:

Օրինակ:

$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

echo json_encode($arr);

O/P

{"a":1,"b":2,"c":3,"d":4,"e":5}

Ես ուզում եմ .

{"foo":1,"something":2,"bar":3,"foo":4,"baz":5}

խմբագրել. Ես չեմ կարող խմբագրել բնօրինակ զանգվածը.. (ստեղծվել է Framweork-ի միջոցով)

06.05.2011

  • որտեղի՞ց են գալիս «foo something» գծի ստեղները: 07.05.2011
  • եթե դուք չեք կարող խմբագրել բնօրինակ զանգվածը, պարզապես ստեղծեք նորը` օգտագործելով բնօրինակի արժեքները, այնուհետև այն փոխարկեք json-ի: 07.05.2011
  • դա սովորական կլինի յուրաքանչյուր առաջադրանքի համար: Ես ուզում եմ անուն: , տեսակ: 07.05.2011

Պատասխանները:


1

Միայն եթե դու ինքդ վերագրես «ես»: Դուք կարող եք օգտագործել.

$rewriteKeys = array('a' => 'foo', 'b' => 'something', 'c' => 'bar', 'd' => 'foo', 'e' => 'baz');

$newArr = array();
foreach($arr as $key => $value) {
  $newArr[ $rewriteKeys[ $key ] ] = $value;
}

echo json_encode($newArr);

Վստահ չեմ, արդյոք դա այն է, ինչին դուք նպատակ եք ունեցել:

06.05.2011

2

Դուք միշտ կարող եք json_decode այն և այնուհետև նորից կոդավորել: Բայց ամենահեշտ կլինի, եթե դուք պարզապես պատրաստեք ձեր բանալիները նախքան այն կոդավորելը:

06.05.2011

3

Կա ևս մեկ տարբերակ, որը ես նկարագրել եմ այստեղ. Հիմնական գաղափարը JSON-ը դիտարկելն է որպես տող, այնուհետև օգտագործել str_replace կամ preg_replace(str_replace regexp-ի համար):

Ձեր գործի համար կա ծածկագիր:

$mapping_array  = array('a' => 'foo', 'b' => 'something', 'c' => 'bar', 'd' => 'foo', 'e' => 'baz');

$tmp_arr =  array_map(function($k){ return '/\b'.$k.'\b/u'; }, array_keys($mapping_array));

$new_json =  preg_replace($tmp_arr, array_values($mapping_array), $old_json);
31.10.2015

4

Սա կարող է լինել կարճ պատասխան.

foreach ($list as $key => $val) {
    $newList[$key] = [
        'foo'   =>  $val['a'],
        'something' =>    $val['b'],
        'bar' => $val['c'],
        'foo' => $val['d'],
        'baz' => $val['e'],
    ];
}
04.02.2020
Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..