Chuyển string sang json

php

(Lê Vũ) #1

Chào mọi người.
Chuỗi ký tự nhập vào từ textarea có dạng:

ABC|123
BCD|234
BGH|345

e đang muốn chuyển nó sang dạng json

[
    {text1:"ABC", code1:'123 ',AP: '000'},
    {text2:"BCD", code2:'234',AP: '000'},
    {text3:"BGH", code2:'345',AP: '000'}
]

e thử bóc tách nội dung trong texarea theo từng hàng xong theo | để lấy tiếp nhưng ko biết in sao ra json dạng kia. Nhờ mọi người giúp ạ


(Trần Hoàn) #2
$input_array = explode('\n', $text);//Cái này bạn tự tách, chưa chắc là '\n' đâu.
$json_array = [];

for ($i = 0; $i < count($input_array); $i += 1)
{
	$line = explode('|', $input_array[i]);

	$json_object = {};
	$json_object["text" + (i + 1)] = $line[0];
	$json_object["code" + (i + 1)] = $line[1];
	$json_object["AP"] = "000";

	array_push($json_array, $json_object);
}
return json_encode($json_array);

Code này gõ trực tiếp lên DNH chứ chưa test đâu.


(Lê Vũ) #3

cảm ơn bạn. nó bị lỗi ở $json_object = {}; bạn xem giúp mình vs
Parse error : syntax error, unexpected ‘{’ in C:\xampp\htdocs\test.php on line 12


(Quân) #4

Array hay json object trong PHP đều là array cả. Nên đoạn $json_object = {}; phải là $json_object = [];


(Dark.Hades) #5

Đính chính là code của bạn ấy thì $json_object đích xác là Array chứ không phải Object, và Array trong PHP khởi tạo là [] chứ không phải {}.
Object của PHP dùng ->key chứ không dùng [‘key’]

Còn json object của PHP nó tuỳ vào parameter convert sang object hay array


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?