/ / Php nâng cao / Comment (0)

Đọc ghi dữ liệu JSON với php

Bài trước chúng ta đã tìm hiểu về kiểu dữ liệu XML đọc,ghi dữ liệu vào file XML.Và các bạn thấy khi lưu dữ liệu trong file sẽ truy cập nhanh hơn rất nhiều khi lưu trong CSDL.Trong bài hôm nay mình sẽ giới thiệu cho các bạn kiểu dữ liệu khác cũng rất quan trong khi lập trình đó chính là JSON.

JSON là gì?

– JSON (JavaScript Object Noattion) là một định dạng hoán vị dữ liệu nhanh. Nó cho phép người dùng dễ dàng tương tác và làm việc hơn so với các dữ liệu ở dạng XML

– JSON nhỏ hơn, nhanh hơn và dễ xử lý hơn so với XML

– Đặc biệt, Json hỗ trợ tương tác dưới dạng ajax rất mạnh. Vì qua đó người dùng có thể sử dụng dữ liệu uyển chuyển hơn và các bước xử lý cũng đơn giản hơn so với việc sử dụng xml.Đó cũng chính là lý do mình đã chuyển qua sử dụng JSON để tương tác với ajax

Cấu trúc cơ bản của JSON

{ "ten_du_lieu" : "Giá_tri" }

+ Giống với XML, Json cho phép người sử dụng tự tạo ra các phần tử trong tài liệu. Các phần tử sẽ tương ứng với giá trị và phân cách bởi dấu “:”.
+ Giá trị ở đây có thể bao gồm:

  1. Là số
  2. Là chuỗi
  3. Là mảng
  4. Là kiểu boolean
  5. Là một đối tượng

– Ví dụ:

<script>
book={
     “title" : “Sống mòn",
     “author" : “Nam Cao",
     “category" : “Tiểu thuyết"
};
alert(book.title);
//hoặc alert(book['title']);
</script>

Như ví dụ ở trên, thì kết quả thông báo sẽ là Sống mòn. Vậy để lấy những giá trị trong Json ta sử dụng

tên_biến.tên_phần _tử.

Hoặc

tên_biến[‘tên_phần _tử’]

Tuy nhiên, Json không khuyến khích chúng ta lấy dữ liệu ở dạng mảng

Cấu trúc lồng của JSON

 {"ten_mang" :
    [
      {"phan_tu":"Gia_tri"},
      {"phan_tu":"Gia_Tri"}
    ]
  }

– Ví dụ:

 <script>
jsons={"books":[
              {"book":[
		         {"title":“Sống mòn"},
		         {"author":“Nam cao"},
                         {“category":“Tiểu thuyết"}
	       ]},
              {"book":[
		         {"title":“3 Người bạn"},
		         {"author":“Nam cao"},
		         {“category":“Truyện ngắn"}
              ]},
   ]};
alert(jsons.books[1].book[0].title);
//Kết quả là 3 Người bạn
</script>

Các bạn thấy để truy cập vào phần tử trong dữ liệu JSON các bạn cũng cần truy cập như trong 1 mảng,cũng cần biết vị trí hoặc key của phần tử đó.

Duyệt lặp nội dung trong JSON

Với vị dụ cấu trúc lồng ở trên ta duyệt:

<script>
for(i=0;i<=jsons.books.length;i++)
{
alert("Tiêu đề: "+jsons.books[i].book[0].title);
alert("Tác giả:"+jsons.books[i].book[1].author);
alert(“Thể loại:"+jsons.books[i].book[2].category)
};
</script>

PHP và JSON

Chuyển đổi dữ liệu tử mảng về Json

– Cú pháp:

Json_encode($mang);

– Ví dụ:

<?php
 $data=array(
     "1" => “PHP cơ bản",
     "2" => “PHP nâng cao",
     "3" => “PHP Frameword",
);
echo json_encode($data);
?>

Và kết quả:

{
    "1":"PHP cơ bản ",
    "2":"PHP nâng cao ",
    "3":"PHP Frameword“
}

+ Như vậy các bạn thấy là từ 1 mảng trong php chúng ta hoàn toàn có thể chuyển mảng này về 1 chuỗi mã dạng JSON

Chuyển dữ liệu từ Json sang đối tượng

– Cú pháp:

Json_decode($json);

– Ví dụ:

$data = '{
    "1":"PHP cơ bản ",
    "2":"PHP nâng cao ",
    "3":"PHP Frameword“
}';
$object = json_decode($data);
print_r($object);

Và kết quả là:

stdClass Object
(
    [1] => “PHP cơ bản”
    [2] => “PHP nâng cao”
    [3] => “PHP Frameword”
)

+ Như vậy các bạn thấy là từ chuỗi mã json chúng ta hoàn toàn có thể chuyển mã Json này về 1 đối tượng trong php

Tổng kết:

– Json là kiến thức rất quan trọng để làm việc với các thư viện JS mạnh như sencha, Ext js, dojo. Do vậy, việc nắm vững Json sẽ giúp bạn hiểu và tận dụng được lợi thế mà json đem lại. Nhằm phục vụ tốt các yêu cầu mà bạn mong muốn.
– Thư viện và cách sử dụng json rất nhiều.Nếu bạn cần tìm hiểu sâu hơn nữa về Json. Hãy viếng thăm trang chủ của json để tìm hiểu chi tiết về những khái niệm quan trọng khác.



04/09/2014
Written by nobitacnt

Trong bài viết không tránh khỏi những câu từ chưa chính xác,mong nhận được sự góp ý để website hoàn thiện hơn.Nếu thấy bài viết có ích với bạn hãy like và share để ủng hộ nhé :D.

Bài viết chùng chuyên mục

Gửi bình luận

Giới thiệu

Mình tạo ra blog này với mong muốn chia sẻ và học hỏi kinh nghiệm trong quá trình thiết kế website. Website đang trong quá trình phát triển chân thành cảm ơn mọi sự góp ý của các bạn để làm cho website ngày càng hoàn thiên.

DMCA.com Protection Status
Theo dõi qua Email

Tổng hợp các bài viết về

Hoc php - CodeIgniter Framework - Laravel Framework - PHP va MYSQL