json轉xmlphp代碼,jsonp php

本文目錄一覽:

php解析xml,轉換成JSON,附格式

php 有個解析xml的函數.

然後將解析後的對象轉換成數組 再用用json函數編譯下 就可以了

php json 轉 xml,從數據庫調取的內容怎麼轉換為xml格式輸出,之前弄得是json,不會轉,新手。

可以直接用文本讀寫方式,json 先用eval 解析,之後慢慢拼湊出xml格式的文件,寫入文件就行了

PHP生成及獲取JSON文件的方法

本文實例講述了PHP生成及獲取JSON文件的方法。分享給大家供大家參考,具體如下:

首先定義一個數組,然後遍曆數據表,把相應的數據放到數組中,最後通過json_encode()轉化數組

json_encode()

函數的功能是將數值轉換成

JSON

數據存儲格式。

putjson.php:

?php

//

生成一個PHP數組

$data

=

array();

$data[0]

=

array(‘1′,’吳者然’,’onestopweb.cn’);

$data[1]

=

array(‘2′,’何開’,’iteye.com’);

//

把PHP數組轉成JSON字符串

$json_string

=

json_encode($data);

//

寫入文件

file_put_contents(‘test.json’,

$json_string);

?

有同名的

JSON

文件則覆蓋,沒有則創建。

生成或覆蓋的

JSON

如下:

複製代碼

代碼如下:[[“1″,”\u811A\u672C\u4E4B\u5BB6″,””],[“2″,”\u7F16\u7A0B\u5F00\u53D1″,”jb51.net”]]

然後,把

JSON

文件中的數據讀取到PHP變量中。

getjson.php:

?php

//

從文件中讀取數據到PHP變量

$json_string

=

file_get_contents(‘test.json’);

//

把JSON字符串轉成PHP數組

$data

=

json_decode($json_string,

true);

//

顯示出來看看

var_dump($data);

echo

‘brbr’;

print_r($data);

echo

‘brbr’;

echo

‘編號:’.$data[0][0].’

姓名:’.$data[0][1].’

網址:’.$data[0][2];

echo

‘br’;

echo

‘編號:’.$data[1][0].’

姓名:’.$data[1][1].’

網址:’.$data[1][2];

?

效果圖:

PS:這裡再為大家推薦幾款比較實用的json在線工具供大家參考使用:

在線JSON代碼檢驗、檢驗、美化、格式化工具:

JSON在線格式化工具:

在線XML/JSON互相轉換工具:

json代碼在線格式化/美化/壓縮/編輯/轉換工具:

C語言風格/HTML/CSS/json代碼格式化美化工具:

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP中json格式數據操作技巧匯總》、《PHP針對XML文件操作技巧總結》、《PHP基本語法入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

如何在JS中實現相互轉換XML和JSON

JSON與XML的區別比較

1.定義介紹

(1).XML定義

擴展標記語言 (Extensible Markup Language, XML)

,用於標記電子文件使其具有結構性的標記語言,可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。

XML使用DTD(document type definition)文檔類型定義來組織數據;格式統一,跨平台和語言,早已成為業界公認的標準。

XML是標準通用標記語言 (SGML) 的子集,非常適合 Web 傳輸。XML 提供統一的方法來描述和交換獨立於應用程序或供應商的結構化數據。

(2).JSON定義

JSON(JavaScript Object

Notation)一種輕量級的數據交換格式,具有良好的可讀和便於快速編寫的特性。可在不同平台之間進行數據交換。JSON採用兼容性很高的、完全獨立於語言文本格式,同時也具備類似於C語言的習慣(包括C,

C++, C#, Java, JavaScript, Perl, Python等)體系的行為。這些特性使JSON成為理想的數據交換語言。

JSON基於JavaScript Programming Language , Standard ECMA-262 3rd Edition – December 1999 的一個子集。

2.XML和JSON優缺點

(1).XML的優缺點

1.XML的優點

A.格式統一,符合標準;

B.容易與其他系統進行遠程交互,數據共享比較方便。

2.XML的缺點

A.XML文件龐大,文件格式複雜,傳輸占帶寬;

B.服務器端和客戶端都需要花費大量代碼來解析XML,導致服務器端和客戶端代碼變得異常複雜且不易維護;

C.客戶端不同瀏覽器之間解析XML的方式不一致,需要重複編寫很多代碼;

D.服務器端和客戶端解析XML花費較多的資源和時間。

(2).JSON的優缺點

1.JSON的優點:

A.數據格式比較簡單,易於讀寫,格式都是壓縮的,佔用帶寬小;

B.易於解析,客戶端JavaScript可以簡單的通過eval()進行JSON數據的讀取;

C.支持多種語言,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等服務器端語言,便於服務器端的解析;

D.在PHP世界,已經有PHP-JSON和JSON-PHP出現了,偏於PHP序列化後的程序直接調用,PHP服務器端的對象、數組等能直接生成JSON格式,便於客戶端的訪問提取;

E.因為JSON格式能直接為服務器端代碼使用,大大簡化了服務器端和客戶端的代碼開發量,且完成任務不變,並且易於維護。

2.JSON的缺點

A.沒有XML格式這麼推廣的深入人心和喜用廣泛,沒有XML那麼通用性;

B.JSON格式目前在Web Service中推廣還屬於初級階段。

在Javascript中實現XML和JSON相互轉換

先看調用例子:

複製代碼 代碼如下:

viewport id=”menuPane” layout=”border”

panel region=”center” border=”0″ layout=”border”

tbar

toolbar text=”XXXX”

menu

text text=”11″

/text

text text=”22″

/text

text text=”33″

/text

/menu

/toolbar

toolbar text=”XXXX”

menu

text text=”44″

/text

text text=”55″

/text

menu

text text=”6 6″

/text

/menu

text text=”77″

/text

/menu

/toolbar

/tbar

/panel

/viewport

var xmlParser = new XmlToJson();

var json = xmlParser.parse(xml);

console.log( JSON.stringify(json) );

var jsonParser = new JsonToXml();

var xml = jsonParser.parse(json);

console.log( xml );

XML轉換為JSON:

複製代碼 代碼如下:

function XmlToJson() {

}

XmlToJson.prototype.setXml = function(xml) {

if(xml typeof xml == “string”) {

this.xml = document.createElement(“div”);

this.xml.innerHTML = xml;

this.xml = this.xml.getElementsByTagName(“*”)[0];

}

else if(typeof xml == “object”){

this.xml = xml;

}

};

XmlToJson.prototype.getXml = function() {

return this.xml;

};

XmlToJson.prototype.parse = function(xml) {

this.setXml(xml);

return this.convert(this.xml);

};

XmlToJson.prototype.convert = function(xml) {

if (xml.nodeType != 1) {

return null;

}

var obj = {};

obj.xtype = xml.nodeName.toLowerCase();

var nodeValue = (xml.textContent || “”).replace(/(\r|\n)/g, “”).replace(/^\s+|\s+$/g, “”);

if(nodeValue xml.childNodes.length == 1) {

obj.text = nodeValue;

}

if (xml.attributes.length 0) {

for (var j = 0; j xml.attributes.length; j++) {

var attribute = xml.attributes.item(j);

obj[attribute.nodeName] = attribute.nodeValue;

}

}

if (xml.childNodes.length 0) {

var items = [];

for(var i = 0; i xml.childNodes.length; i++) {

var node = xml.childNodes.item(i);

var item = this.convert(node);

if(item) {

items.push(item);

}

}

if(items.length 0) {

obj.items = items;

}

}

return obj;

};

JSON轉換為XML:

複製代碼 代碼如下:

function JsonToXml() {

this.result = [];

}

JsonToXml.prototype.spacialChars = [“”,””,””,”\””,”‘”];

JsonToXml.prototype.validChars = [“”,””,””,”””,”‘”];

JsonToXml.prototype.toString = function(){

return this.result.join(“”);

};

JsonToXml.prototype.replaceSpecialChar = function(s){

for(var i=0;ithis.spacialChars.length;i++){

s=s.replace(new RegExp(this.spacialChars[i],”g”),this.validChars[i]);

}

return s;

};

JsonToXml.prototype.appendText = function(s){

s = this.replaceSpecialChar(s);

this.result.push(s);

};

JsonToXml.prototype.appendAttr = function(key, value){

this.result.push(” “+ key +”=\””+ value +”\””);

};

JsonToXml.prototype.appendFlagBeginS = function(s){

this.result.push(“”+s);

};

JsonToXml.prototype.appendFlagBeginE = function(){

this.result.push(“”);

};

JsonToXml.prototype.appendFlagEnd = function(s){

this.result.push(“/”+s+””);

};

JsonToXml.prototype.parse = function(json){

this.convert(json);

return this.toString();

};

JsonToXml.prototype.convert = function(obj) {

var nodeName = obj.xtype || “item”;

this.appendFlagBeginS(nodeName);

var arrayMap = {};

for(var key in obj) {

var item = obj[key];

if(key == “xtype”) {

continue;

}

if(item.constructor == String) {

this.appendAttr(key, item);

}

if(item.constructor == Array) {

arrayMap[key] = item;

}

}

this.appendFlagBeginE();

for(var key in arrayMap) {

var items = arrayMap[key];

for(var i=0;iitems.length;i++) {

this.convert(items[i]);

}

}

this.appendFlagEnd(nodeName);

};

以上就是為大家整理的在Javascript中實現XML和JSON相互轉換,希望本文所述對大家學習javascript有所幫助。

thinkphp 跨域獲取 xml 轉 json

php xml與json間的相互轉換

一,參考xml文件如下

查看複製打印?

?xml version=”1.0″ encoding=”UTF-8″?

humans

zhangying

name張映/name

sex男/sex

old28/old

/zhangying

tank

nametank/name

sex

haoyes/hao

aaaano/aaaa

/sex

old28/old

/tank

/humans

二,xml轉換成json

利用simplexml

查看複製打印?

public function xml_to_json($source) {

if(is_file($source)){ //傳的是文件,還是xml的string的判斷

$xml_array=simplexml_load_file($source);

}else{

$xml_array=simplexml_load_string($source);

}

$json = json_encode($xml_array); //php5,以及以上,如果是更早版本,請下載JSON.php

return $json;

}

三,json轉換成xml

利用遞歸函數

查看複製打印?

public function json_to_xml($source,$charset=’utf8′) {

if(emptyempty($source)){

return false;

}

$array = json_decode($source); //php5,以及以上,如果是更早版本,請下載JSON.php

$xml =’!–l version=”1.0″ encoding=”‘.$charset.’–‘;

$xml .= $this-change($array);

return $xml;

}

public function change($source) {

$string=””;

foreach($source as $k=$v){

$string .=””.$k.””;

if(is_array($v) || is_object($v)){ //判斷是否是數組,或者,對像

$string .= $this-change($v); //是數組或者對像就的遞歸調用

}else{

$string .=$v; //取得標籤數據

}

$string .=””;

}

return $string;

}

上面的方法json_to_xml,可以支持nameaaaa/name,不支持name type=’test’aaaaa/name看代碼就能看明白。

如何將php返回的xml轉換成json數據?

如果你使用 curl 獲取的 xml data

simplexml_load_string() 函數把 XML 字符串載入對象中。

$xml = simplexml_load_string($xmlStr);

$json = json_encode($xml);

如果是直接獲取 URL 數據的話

$xml = simplexml_load_file($data);

$json = json_encode($xml);

原創文章,作者:THPS,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/143933.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
THPS的頭像THPS
上一篇 2024-10-24 15:26
下一篇 2024-10-24 15:26

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • 北化教務管理系統介紹及開發代碼示例

    本文將從多個方面對北化教務管理系統進行介紹及開發代碼示例,幫助開發者更好地理解和應用該系統。 一、項目介紹 北化教務管理系統是一款針對高校學生和教職工的綜合信息管理系統。系統實現的…

    編程 2025-04-29

發表回復

登錄後才能評論