স্ট্রিং হিসাবে পিএইচপি json_encode এনকোডিং নম্বর


142

আমার পিএইচপি json_encode ফাংশন নিয়ে একটি সমস্যা হচ্ছে। এটি স্ট্রিং হিসাবে সংখ্যা এনকোড, যেমন

array('id' => 3)

হয়ে

"{ ["id": "3", ...)

যখন জেএস এই মানগুলির মুখোমুখি হয়, এটি তাদের কাছে স্ট্রিং এবং সংখ্যাসূচক ক্রিয়াকলাপগুলি ব্যর্থ হিসাবে ব্যাখ্যা করে। json_encodeস্ট্রিং হিসাবে নম্বরগুলি এনকোডিং থেকে রোধ করার কোনও উপায় কি জানেন ? ধন্যবাদ!


দেখা যাচ্ছে যে এটি একটি সংস্করণ-নির্দিষ্ট সমস্যা। কখনও কখনও একটি MySQL ডাটাবেস থেকে একটি টান সঠিক ধরণের রক্ষণাবেক্ষণ করবে। পুরানো সংস্করণগুলিতে, এটি স্ট্রিং হিসাবে সবকিছু ফিরিয়ে দিতে পারে। আমি আজ সকালে এটি সম্পর্কে লিখেছিলাম। shakyshane.com/blog/output-json-from-php.html
শানে

1
আমার একই সমস্যা ছিল এবং আমি মডেলটিতে লারাভেলের মিউটেটর ব্যবহার করে খনি সমাধান করতে সক্ষম হয়েছি। এটি আপনাকে মডেলটিতে মানগুলি সংশোধন করতে দেয়। laravel.com/docs/eloquent#accessors-and-mutators : আমি বেশ প্রথমে এটি পেতে পারি না, কিন্তু এই প্রশ্নের সাহায্য stackoverflow.com/questions/16985656/...
Jazzy

উত্তর:


28

আমি খুব দ্রুত পরীক্ষা করেছি:

$a = array(
    'id' => 152,
    'another' => 'test',
    'ananother' => 456,
);
$json = json_encode($a);
echo $json;

এটি আপনার বর্ণনা মতো বলে মনে হচ্ছে, যদি আমি ভুল না করি?

এবং আমি আউটপুট হিসাবে পাচ্ছি:

{"id":152,"another":"test","ananother":456}

সুতরাং, এই ক্ষেত্রে, পূর্ণসংখ্যাগুলি স্ট্রিংয়ে রূপান্তরিত হয়নি।


তবুও, এটি আমরা ব্যবহার করছি এমন পিএইচপি এর সংস্করণের উপর নির্ভরশীল হতে পারে: পিএইচপি এর সংস্করণের উপর নির্ভর করে JSON_encode সংক্রান্ত কয়েকটি বাগ সংশোধন করা হয়েছে ...

এই পরীক্ষাটি পিএইচপি 5.2.6 দিয়ে করা হয়েছে; আমি পিএইচপি 5.2.9 এবং 5.3.0 দিয়ে একই জিনিস পাচ্ছি; পরীক্ষার জন্য আমার কাছে আর 5.2.x সংস্করণ নেই, যদিও :-(

আপনি পিএইচপি এর কোন সংস্করণ ব্যবহার করছেন? বা আপনার পরীক্ষার কেসটি আপনার পোস্ট করা উদাহরণের চেয়ে জটিল?

Http://bugs.php.net/ এ একটি বাগ রিপোর্ট সম্পর্কিত হতে পারে? উদাহরণস্বরূপ, বাগ # 40503: json_encode পূর্ণসংখ্যা রূপান্তরটি পিএইচপি-র সাথে বেমানান ?


সম্ভবত বাগ # 38680 আপনারও আগ্রহী হতে পারে, বিটিডব্লিউ?


ধন্যবাদ মার্টিন আমি 5.2.9 ব্যবহার করছি। আমি ভাবছি যদি সংখ্যার ডেটা স্ট্রিং হিসাবে ডিবি থেকে পড়ছে? আমি নিশ্চিত ক্ষেত্রের প্রকারগুলি অন্তর্নিহিত, তবে আমি অন্য ব্যাখ্যাটি ভাবতে পারি না। আমি আমার সিস্টেমে আপনার দ্রুত পরীক্ষা করার চেষ্টা করব এবং আমি একই ফলাফল পেয়েছি কিনা তা দেখুন।
ক্রিস বার্নহিল 22

12
ঠিক আছে প্রায় 5.2.9; যদি আপনার ডেটাবেস থেকে ডেটাবেস আসে, সমস্যাটি হতে পারে: আমি প্রায়শই স্ট্রিংয়ে কাস্ট করা সমস্ত কিছু দিয়ে ডেটাবেস থেকে ডেটা আসতে দেখেছি (আমি এটি পিডিও এবং এমএসকিএল দিয়ে দেখেছি; তবে, যদি আমি সঠিকভাবে মনে করি তবে এটিও ঘটে) পিএইচপি <5.3 তে মাইএসকিউএল-র জন্য, যখন নতুন মাইএসকিএলএনডি ড্রাইভারটি বিদ্যমান ছিল না) ;; আপনার ডেটা দেখতে কেমন তা পরীক্ষা করতে, আপনি var_dump ব্যবহার করতে পারেন, যা ডেটার প্রতিটি অংশের প্রকারভেদ করে।
পাস্কাল মার্টিন

(অব্যাহত) মনে করে যে সংখ্যার মানগুলির জন্য ডেটা টাইপটি স্ট্রিং? কোন ধারনা?
ক্রিস বার্নহিল 22

1
"মাইএসকিউএল থেকে স্ট্রিং হিসাবে ডেটা কেন ফিরিয়ে দেওয়া হয়" এর প্রযুক্তিগত কারণটি আমি ঠিক জানি না ;; সম্ভবত পিএইচপি এবং মাইএসকিউএল এর মধ্যে ড্রাইভারের সাথে কিছু করার আছে ;; এটি এমন কিছু যা (কমপক্ষে কিছু ক্ষেত্রে) পিএইচপি 5.3 সহ নতুন মাইএসকিএলএনডি ড্রাইভার দ্বারা সংশোধন করা হয়েছে (দেখুন ব্লগ.লফ.ওয়েলেল.ইড / ? p=184 ; আকর্ষণীয় সন্ধানের জন্য পৃষ্ঠায় "পূর্ণসংখ্যা" অনুসন্ধান করুন) বাক্য) ;; তবে আমি সম্মত হই যে এটি ভাল নয় ^^
পাস্কাল মার্টিন

Json_encode () দ্বারা দেওয়া অঙ্কিত ডেটা উদ্ধৃতিতে নেই, এটি এখনও একটি স্ট্রিং matter Json_encode () ফাংশনের রিটার্ন মান একটি স্ট্রিং। মাইএসকিউএল সমস্ত ক্ষেত্রকে স্ট্রিং হিসাবে ফিরিয়ে দেওয়ার বিষয়ে, হ্যাঁ আমি বিশেষত পিডিওর সাথেও এর মুখোমুখি হয়েছি। আমি এটি যেভাবে দেখছি তা সর্বদা আপনার পিএইচপি-তে সংখ্যার পূর্ণসংখ্যার (বা ভাসমান) প্রত্যাশা করা উচিত বলে নিশ্চিত হওয়া উচিত, মাইএসকিউএল বা অন্য কোনও ডাটাবেসকে সঠিক প্রকারের সাথে মান ফেরানোর জন্য বিশ্বাস করবেন না।
রিচার্ড নপ

352

নোট করুন যে পিএইচপি ৫.৩.৩ থেকে অটোর-রূপান্তরকারী সংখ্যার জন্য একটি পতাকা রয়েছে (অপশন প্যারামিটারটি পিএইচপি 5.3.0 এ যুক্ত হয়েছিল):

$arr = array( 'row_id' => '1', 'name' => 'George' );
echo json_encode( $arr, JSON_NUMERIC_CHECK ); // {"row_id":1,"name":"George"}

4
নোট করুন যে JSON_NUMERIC_CHECK এর জন্য পিএইচপি 5.3.3 প্রয়োজন।
রবার্ট

10
আই.ই.এল.এলএলওয়ারকেসে () প্রস্ফুটিত করে এটি একটি পূর্ণসংখ্যার সাথে একটি সংখ্যার লেবেল না ফেলে ততক্ষণ নিখুঁত কাজ করেছিল। সাবধান, এই সমাধানটি সহজ তবে অতিমাত্রায় simple
ব্র্যাড কোচ

6
আপনি আমার হিরো এটি পছন্দ।
পেট্রোগড

5
এটির কিছু পার্শ্ব প্রতিক্রিয়া রয়েছে যদি আপনার স্ট্রিংটি কোনও সংখ্যা না হলেও এর মতো সামগ্রী হয়: 5252788e16597। তথ্যসূত্র: bugs.php.net/bug.php?id=64695
টনিকিউ

20
JSON_NUMERIC_CHECKকোনও স্ট্রিংটি সংখ্যায় যুক্ত করার চেষ্টা করে বা না পার্স করার চেষ্টা করে। এটি সম্পর্কে যদি আপনি চিন্তা করেন তবে এটি বেশ বিশ্বাসযোগ্য নয়। এটি সমস্ত সংখ্যাসূচক বৈশিষ্ট্যগুলিকে সংখ্যায় রূপান্তর করবে (কেবলমাত্র আপনি চান না) এবং এটি কেবল সংখ্যার মতো দেখায় এটি করবে। এটি অনিরাপদ না হলে কমপক্ষে নড়বড়ে। উত্পাদিত JSON খায় এমন কোডটি এক বা অন্য প্রকারের উপর নির্ভর করতে পারে। সেই প্রত্যাশা পূরণ না হলে অদ্ভুত জিনিসগুলি ঘটতে পারে। আপনি যদি ভাল অনুশীলন এবং সুরক্ষা সম্পর্কে চিন্তা করেন তবে আপনার পছন্দসই মানগুলি নির্বাচনীভাবে রূপান্তর করা উচিত।
ওয়াদিম

35

আমি, একইভাবে একটি ডিবি (পোস্টগ্রিসএসকিউএল) থেকে পড়ছিলাম এবং সবকিছুই একটি স্ট্রিং ছিল। আমরা আমাদের চূড়ান্ত ফলাফলের অ্যারে তৈরি করতে প্রতিটি সারিটি লুপ করি এবং এটি দিয়ে জিনিস করি, তাই আমি ব্যবহার করেছি

$result_arr[] = array($db_row['name'], (int)$db_row['count']);

লুপের মধ্যে এটি একটি পূর্ণসংখ্যার মান হতে বাধ্য করে। আমি json_encode($result_arr)এখন যখন এটি করি , এটি সঠিকভাবে এটি একটি সংখ্যা হিসাবে ফর্ম্যাট করে। এটি আপনাকে আপনার ডাটাবেস থেকে আগত কোন সংখ্যাটি নয় তা নিয়ন্ত্রণ করতে দেয়।

সম্পাদনা করুন:

json_encode()ফাংশন এছাড়াও মাছি ব্যবহার করে এই কাজ করার ক্ষমতা থাকবে JSON_NUMERIC_CHECKএটি একটি দ্বিতীয় আর্গুমেন্ট হিসাবে ফ্ল্যাগ। এই ব্যবহারকারীর উদাহরণ হিসাবে ডকুমেন্টেশনের (যেমন নীচে অনুলিপি করা হয়েছে) যেমন দেখানো হয়েছে তেমন আপনাকে সতর্কতা অবলম্বন করা উচিত: http://uk3.php.net/manual/en/function.json-encode.php#106641

<?php
// International phone number
json_encode(array('phone_number' => '+33123456789'), JSON_NUMERIC_CHECK);
?>

এবং তারপরে আপনি এই জেএসএন পাবেন:

{"phone_number":33123456789}

হ্যাঁ, এটি প্রদর্শিত হচ্ছে সমস্যাটি ডিবি অ্যাডাপ্টারের যা কোনও json_encodeফাংশনের নয়, ডেটা ধরণের ব্যাখ্যা করে না । এটি সর্বাধিক সঠিক উত্তর, তবে সাবধান থাকুন যেহেতু JSON_NUMERIC_CHECKফোন নম্বর এবং অন্যান্য সংখ্যার স্ট্রিংয়ের মানগুলিও রূপান্তর করে এবং এটি নেতৃস্থানীয় জিরো বা '+' এ সমস্যা দিতে পারে ... আমি ডিবি রিডিং ফাংশনে এই সমস্যাটি সংশোধন করার পরামর্শ দিই।
সিজারসোল

8

চেষ্টা $arr = array('var1' => 100, 'var2' => 200);
$json = json_encode( $arr, JSON_NUMERIC_CHECK);

তবে এটি কেবল পিএইচপি 5.3.3 এ কাজ করে। এই পিএইচপি json_encode পরিবর্তন লগ দেখুন http://php.net/manual/en/function.json-encode.php#refsect1-function.json-encode-changelog


এটি আমার পক্ষে কাজ করেছে। পোস্টগ্রি ডিবি থেকে ডেটা নিয়ে 6.0.5 ডেবিয়ানে পিএইচপি + অ্যাপাচি ডিফল্ট ইনস্টল করুন
নিকোলে স্পাসসভ

7

আমি একই সমস্যাটির মুখোমুখি (পিএইচপি -5.2.11 / উইন্ডোজ)। আমি এই workaround ব্যবহার করছি

$json = preg_replace( "/\"(\d+)\"/", '$1', $json );

যা उद्धিতকগুলিতে সংযুক্ত সমস্ত (অ-নেতিবাচক, পূর্ণসংখ্যার) সংখ্যাকে নিজেই সংখ্যার সাথে প্রতিস্থাপন করে ('' 42 '' '' 42 '' হয়)।

পিএইচপি ম্যানুয়ালটিতে এই মন্তব্যটি দেখুন ।


কোডটির জন্য ধন্যবাদ, তবে দুঃখের বিষয় এটি আমার জসনটিতে কাজ করে নি কারণ আমার কাছে একটি অবজেক্টের নাম হিসাবে একটি সংখ্যা রয়েছে এবং এটি জাসনকে অবৈধ বলে মনে হচ্ছে :(
এসএসএইচ এই

@ এসএসএইচ, সম্ভবত আপনার এই সিনট্যাক্সটি ব্যবহার করে অ্যারেটিকে কোনও JSON এনকোডেড অ্যারে রূপান্তর করতে হবে এবং না কোনও অবজেক্টকে। $json_array = json_encode($some_array, false);সুতরাং মিথ্যা যুক্তি পিএইচপি কে অবজেক্ট রূপান্তর না করতে বলে।
হাইড

এই কাজটি ব্যবহার করা মোটেই নিরাপদ নয়। আপনি এর মতো কাঠামোর সাথে অবৈধ জসন পাবেন:json_encode(array(-1=>'que', '0'=>'-1'))
অ্যালেক্স ইয়ারোশেভিচ

আমার চারপাশে অন্যভাবে সমস্যা ছিল, আমার পিএইচপি $this->data = preg_replace("/\" *?: *?(\d+)/", '":"$1"', $this->data);
.0.০-তে

দশমিকগুলি অন্তর্ভুক্ত করার জন্য আমি আসল রেজেক্সকে `" /\"(\d+\.?\d*)\ "/ "to এ পরিবর্তন করব, অন্য দ্রষ্টব্যটি হল যে JSON_NUMERIC_CHECK ব্যবহার করে এমন ছেলেরা সমস্যার মুখোমুখি হবে যখন একটি স্ট্রিংও সঠিক হয় বৈজ্ঞানিক স্বরলিপি সংখ্যা। যেমন, 19E008। JSON_NUMERIC_CHECK এটিকে 190000 এ রূপান্তর করবে ...
সাহেব খান

3

নিম্নলিখিত পরীক্ষাটি নিশ্চিত করে যে স্ট্রিংয়ের ধরণটি পরিবর্তনের ফলে json_encode () JSON স্ট্রিং হিসাবে একটি সংখ্যাকে ফেরত দেয় (অর্থাত্ ডাবল উদ্ধৃতি দ্বারা বেষ্টিত)। এটির সমাধানের জন্য সেট টাইপ (আরআর ["ভার"], "পূর্ণসংখ্যার") বা সেট টাইপ ($ আরআর ["ভারা"], "ভাসা") ব্যবহার করুন।

<?php

class testclass {
    public $foo = 1;
    public $bar = 2;
    public $baz = "Hello, world";
}

$testarr = array( 'foo' => 1, 'bar' => 2, 'baz' => 'Hello, world');

$json_obj_txt = json_encode(new testclass());
$json_arr_txt = json_encode($testarr);

echo "<p>Object encoding:</p><pre>" . $json_obj_txt . "</pre>";
echo "<p>Array encoding:</p><pre>" . $json_arr_txt . "</pre>";

// Both above return ints as ints. Type the int to a string, though, and...
settype($testarr["foo"], "string");
$json_arr_cast_txt = json_encode($testarr);
echo "<p>Array encoding w/ cast:</p><pre>" . $json_arr_cast_txt . "</pre>";

?>

2

সম্পূর্ণতার জন্য (যেহেতু আমি এখনও মন্তব্য যুক্ত করতে পারি না), আমাকে এই উত্তরটি আরও একটি উত্তর হিসাবে যুক্ত করুন:

(সম্পাদনা করুন: সোর্স ডেটা (যেমন ওপি'র ক্ষেত্রে ডাটাবেস ফলাফল সেট) সমস্যা হতে পারে তা বুঝতে পেরে পড়তে হবে (সংখ্যার কলামগুলি স্ট্রিং হিসাবে ফিরিয়ে দিয়ে)) এবং জেসন_এনকোড () আসলে সমস্যার উত্স ছিল না)

উভয়ের ম্যানুয়াল পৃষ্ঠাগুলি " Mysql_fetch_array " :

ফিরে আসে আনীত সারিটির সাথে মিলে থাকা স্ট্রিংগুলির অ্যারে ,

... এবং " মাইএসকিএল_প্রাপ্ত_সারি ":

একটি সংখ্যা প্রদান করে আনীত সারিটির সাথে মিলে যায় এমন স্ট্রিংয়ের অ্যারে প্রদান করে

স্পষ্টভাবে বলেছে যে; ফিরে আসা অ্যারে এন্ট্রি স্ট্রিং হবে।

(আমি পিএইচপিবিবি 2-তে ডিবি ক্লাসটি ব্যবহার করছিলাম (হ্যাঁ আমি জানি এটি অচল!), এবং সেই শ্রেণীর "sql_fetchrow ()" পদ্ধতিটি "mysql_fetch_array ()" ব্যবহার করে))

বুঝতে পারছি না, আমি এই প্রশ্নটি অনুসন্ধান করেও বুঝতে পেরেছি! :)

পাস্কাল মার্টিন তার ফলোআপ মন্তব্যে উপরে যেমন বলেছিলেন, আমি বিশ্বাস করি এমন একটি সমাধান যা উত্সের "ভুল ধরণের" সমস্যার যত্ন নেয় (যেমন " mysql_field_type () " ফাংশনটি ব্যবহার করে এবং আনার ঠিক পরে কাস্টিং করা, (বা "অবজেক্ট"?) এর মতো অন্যান্য আনার পদ্ধতিগুলি সাধারণভাবে আরও ভাল হবে।


2

সুতরাং পাস্কাল মার্টিন এখানে পর্যাপ্ত ক্রেডিট পাচ্ছে না। প্রতিটি জেএসএন রিটার্নে সংখ্যাসূচক মান পরীক্ষা করা কোনও বিদ্যমান প্রকল্পের জন্য শত শত সার্ভার সাইড ফাংশন সহ সম্ভব হয় না।

আমি পিএইচপি-মাইএসকিএলকে পিএইচপি-মাইএসকিএলএন্ডের সাথে প্রতিস্থাপন করেছি, এবং সমস্যাটি চলে গেছে। নম্বরগুলি সংখ্যা, স্ট্রিংগুলি স্ট্রিং, বুলেটিয়ানগুলি বুলিয়ান।


0

ডাটাবেস থেকে ডেটা প্রক্রিয়াকরণ করার ক্ষেত্রেও আমার একই সমস্যা ছিল। মূলত সমস্যাটি হ'ল জসনে রূপান্তর করতে অ্যারে টাইপটি পিএইচপি দ্বারা একটি স্ট্রিং হিসাবে স্বীকৃত এবং পূর্ণসংখ্যা হিসাবে নয়। আমার ক্ষেত্রে আমি একটি ক্যোয়ারী তৈরি করেছি যা একটি ডিবি কলাম গণনা সারি থেকে ডেটা ফেরত দেয়। PDO ড্রাইভার কলামটি ইন্ট হিসাবে নয়, তবে স্ট্রিং হিসাবে স্বীকৃতি দেয়। আমি প্রভাবিত কলামে একটি কাস্ট অভিনয় হিসাবে সমাধান করেছি।


0
$rows = array();
while($r = mysql_fetch_assoc($result)) {
    $r["id"] = intval($r["id"]); 
    $rows[] = $r;
}
print json_encode($rows);  

0

এটি সমস্যাটি পিএইচপি সংস্করণ, একই সমস্যাটি আমার পিএইচপি সংস্করণটিকে আপগ্রেড করে 5.6 এ সমস্যার সমাধান করেছে


0

কোনও মান বা ভাসাতে মান কাস্ট করা এটি ঠিক করে দেবে বলে মনে হচ্ছে। উদাহরণ স্বরূপ:

$coordinates => array( 
    (float) $ap->latitude,
    (float) $ap->longitude 
);


-1

কেবল একই সমস্যার মধ্যে চলে আসুন এবং ডাটাবেসটি স্ট্রিং হিসাবে মানগুলি ফিরিয়েছিল।

আমি এটি একটি কাজের হিসাবে ব্যবহার:

$a = array(
    'id' => $row['id'] * 1,
    'another' => ...,
    'ananother' => ...,
);
$json = json_encode($a);

এটি একটি সংখ্যায় কাস্ট করতে মানটি 1 দিয়ে গুণাচ্ছে

আশা করি যে কাউকে সাহায্য করবে


গুণক ব্যবহার করা সবচেয়ে কার্যকর সমাধান নয়। json_encode এ JSON_NUMERIC_CHECK ব্যবহার করার কথা বিবেচনা করুন যেহেতু এটি স্বয়ংক্রিয়ভাবে এটি ঠিক হয়ে যাবে
এরিক

-2

json_encode নেটওয়ার্ক জুড়ে প্রেরণের জন্য JSON ফর্ম্যাটে কিছু ডেটা স্ট্রাকচার সিরিয়াল করে। সুতরাং সমস্ত বিষয়বস্তু টাইপ স্ট্রিং এর হবে। ঠিক যেমন আপনি যখন $ _POST বা $ _GET থেকে কিছু পরামিতি পান।

যদি আপনাকে প্রেরিত মানগুলিতে সংখ্যাসূচক ক্রিয়াকলাপ করতে হয় তবে কেবল সেগুলিকে প্রথমে পিএইচপি বা জাভাস্ক্রিপ্টে পার্সিয়ান্ট () পার্সেন্ট () এর সাথে অন্তর্ভুক্ত করুন এবং তারপরে ক্রিয়াকলাপগুলি সম্পাদন করুন


এটাই সে কথা বলছে না। তিনি জোনসনের সাথে সংখ্যার চারপাশে ডাবল কোট রাখার কথা বলছেন।
জেসনওয়ুফ

জেএসএনের ক্ষেত্রে এটি প্রকারগুলি সংরক্ষণ করে। আক্ষরিক জাভাস্ক্রিপ্ট অবজেক্টটি লেখার কল্পনা করুন, যে কোনও উদ্ধৃত মানগুলি স্ট্রিং হয়ে যায়, তবে অ-উদ্ধৃত সংখ্যাগুলি পূর্ণসংখ্যায় পরিণত হয়, 0x [0-9a-z] হেক্স হয়ে যায় PH একটি
সাহসী

ঠিক আছে। তার যে সমস্যাটি হচ্ছিল তা হ'ল তার একটি পিএইচপি ভেরিয়েবল ছিল যা তিনি ভেবেছিলেন টাইপ ইন্ট আছে, কারণ এটি টাইপ ইন্টের একটি ডিবি কলাম থেকে এসেছে। তবে প্রকৃতপক্ষে পিএইচপি ভেরিয়েবলের টাইপ স্ট্রিং ছিল, এইভাবে জেএসএন-এ উদ্ধৃতিগুলি।
জেসনওয়ুফ

-2

ঠিক আছে, পিএইচপি json_encode () একটি স্ট্রিং প্রদান করে।

আপনি জেএস কোডে পার্সফ্লোট () বা পার্সেন্ট () ব্যবহার করতে পারেন যদিও:

parseFloat('122.5'); // returns 122.5
parseInt('22'); // returns 22
parseInt('22.5'); // returns 22

ধন্যবাদ। আমি আশা করি আরও একটি মার্জিত পদ্ধতি ছিল was
ক্রিস বার্নহিল 21

1
হ্যাঁ, সবচেয়ে নিরাপদ উপায় তাদের উপর পার্স করা। কিন্তু আবার, জাভাস্ক্রিপ্ট আলগা টাইপ করা হয় না?
মরিস

কেবলমাত্র একটি মন্তব্য: এটি স্বচ্ছভাবে টাইপ করা হয়েছে, তবুও "1" +1 এর ফলাফল হবে ... 11 - সুতরাং জেএস ব্যবহার করে আপনার শক্তিশালী ভাষার চেয়ে বেশি মনোযোগী হওয়া উচিত, কারণ তারা আপনাকে সতর্ক করবে, জেএস ঠিক সেটাই করে স্ট্রিং-নাম্বারগুলি পরিচালনা করা সবচেয়ে ভাল বলে মনে করুন ...
সামিসালামি

হ্যাঁ তবে এটি বিন্দু নয়, জসন_কেনডে সংখ্যাযুক্ত ক্ষেত্রগুলিতে উদ্ধৃতি যুক্ত করা উচিত নয়।
andreszs

-3

অলি_বারম যেমন বলেছিল, আমার মনে হয় আপনি preg_replaceকাজটি করার জন্য একটি ব্যবহার করতে পারেন । কমান্ডটি এভাবে পরিবর্তন করুন:

$json = preg_replace('#:"(\d+)"#', ':$1', $json);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.