實例對象轉換成json(什麼是變換對象)

本文目錄一覽:

如何將 javascript 對象轉換成 json字符串

JSON(JavaScript Object Notation) 是JavaScript編程語言的一個子集。正因JSON是JavaScript的一個子集,所以它可清晰的運用於此語言中。

eval函數 JSON文本轉換為對象

為了將JSON文本轉換為對象,可以使用eval函數。eval函數調用JavaScript編輯器。由於JSON是JavaScript的子集,因此編譯器將正確的解析文本併產生對象結構。文本必須括在括號中避免產生JavaScript的語法歧義。

var obj = eval(‘(‘ + JSONTest + ‘)’);

eval函數非常快速。它可以編譯執行任何JavaScript程序,因此產生了安全性問題。當使用可信任與完善的源代碼時才可以使用eval函數。這樣可以更安全的解析JSON文本。使用XmlHttp的web應用,頁面之間的通訊只允許同源,因此是可以信任的。但這卻不是完善的。如果服務器沒有嚴謹的JSON編碼,或者沒有嚴格的輸入驗證,那麼可能傳送包括危險腳本的無效JSON文本。eval函數將執行惡意的腳本。

JSON解釋器 JSON.parse、JSON.stringify

使用JSON解析器可以防止像eval函數轉換JSON文本為對象那樣的安全隱患。JSON解析器只能辨識JSON文本,拒絕所有腳本。提供了本地JSON支持的瀏覽器的JSON解析器將遠快於eval函數。

目前,Firefox、Opera、IE8以上版本也提供了本地JSON支持。其中,JSON解釋器提供的函數有:JSON.parse、JSON.stringify。

對於那些並不提供本地JSON支持的瀏覽器可以引入腳本json2.js,來實現JSON轉換功能。json2.js腳本可到頁面下載。

JSON.parse 函數

將JSON文本轉換為對象。

JSON.parse(text[, reviver])

參數

text

必選項。要轉換為對象的JSON文本。

reviver

可選項。該參數是個替換函數。在轉換中,遍歷的每個節點,都將執行該函數,該函數的返回值將替代轉換結果的相應節點值。

JSON.stringify 函數

將對象轉換為JSON文本。

JSON.stringify(value[, replacer[, space]])

參數

text

必選項。要轉換為JSON文本的對象。

reviver

可選項。該參數是個替換函數。在轉換中,遍歷的每個節點,都將執行該函數,該函數的返回值將替代轉換結果的相應節點值。

space

可選項。格式化輸出JSON文本縮進的空格數量。如果不提供該參數將不會格式化輸出。

參數reviver的委託類型

reviver(key, value)

reviver函數的中的this是當前所遍歷到的節點的父節點。當所遍歷的是根節點的時候,父節點是個Object對象,根節點是該對象的一個屬性,屬性名是空字符串。

參數

key

當父節點是數組Object,key為數組索引,否則key為Object屬性名。

value

節點值。

註:JSON不支持循環數據結構。

JSON.parse、JSON.stringify使用示例

[javascript] view plaincopy

script type=”text/javascript”

function InventoryItem(parm) {

this.Product = parm.Product

this.Quantity = parm.Quantity;

this.Price = parm.Price;

this.Type = parm.Type;

this.Total = function() {

return this.Price * this.Quantity;

}

}

function Inventory(parm) {

this.Date = parm.Date;

this.Item = parm.Item;

this.Type = parm.Type;

this.Total = function() {

var count = 0;

for (var key in this.Item) {

count += this.Item[key].Total();

}

return count;

}

}

var inventoryJSONText = “{\”Date\”:\”2000-01-01\”,\”Item\”:[{\”Product\”:\”ProductOne\”,\”Quantity\”:\”10\”

,\”Price\”:\”10\”,\”Type\”:\”InventoryItem\”},{\”Product\”:\”ProductTwo\”,\”Quantity\”:\”100\”,\”Price\”:\”20\”

,\”Type\”:\”InventoryItem\”}],\”Type\”:\”Inventory\”}”;

//將JSON文本轉換為對象,並將一般類的實例改成偽類的實例。

var inventoryObject = JSON.parse(inventoryJSONText, function(key, value) {

var type;

if (value typeof value === ‘object’) {

type = value.Type;

if (typeof type === ‘string’ typeof window[type] === ‘function’) {

return new (window[type])(value);

}

}

return value;

});

//輸出轉換後對象的信息。

var output = “Product\t\tQuantity\tPrice\tTotal\n”;

for (var key in inventoryObject.Item) {

var item = inventoryObject.Item[key];

output += item.Product + “\t” + item.Quantity + “\t\t”

+ item.Price + “\t” + item.Total() + “\n”;

}

output += “\t\t\t\t\t” + inventoryObject.Total();

alert(output);

//再將inventoryObject對象轉換成JSON文本。

var inventoryJSONTextAgain = JSON.stringify(inventoryObject, null, 3);

alert(inventoryJSONTextAgain);

/script

怎麼把一個對象list集合轉換成json

根據格式可以自己寫個方法 自動生成你要的json字符串

public static string ConvertListToJson(listTsetJson dt)

{

JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();

javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大數值

ArrayList arrayList = new ArrayList();

foreach (TestJson Row in dt)

{

Dictionarystring, object dictionary = new Dictionarystring, object(); //實例化一個參數集合

dictionary.Add(“id”, row.id);//把 row的值手動添加到arrylist里

arrayList.Add(dictionary); //ArrayList集合中添加鍵值

}

return javaScriptSerializer.Serialize(arrayList); //返回一個json字符串

}

這個是個笨辦法啊 你也可以自己根據格式拼接啊。。。不過好像list本來就可以用那個javaScriptSerializer轉化成json數據的

如何將數據實體轉換為 JSON 字符串

在數據傳輸過程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對象,所以,JSON對象和JSON字符串之間的相互轉換是關鍵。例如:

JSON字符串:

var str1 = ‘{ “name”: “cxh”, “sex”: “man” }’;

JSON對象:

var str2 = { “name”: “cxh”, “sex”: “man” };

一、JSON字符串轉換為JSON對象

要使用上面的str1,必須使用下面的方法先轉化為JSON對象:

//由JSON字符串轉換為JSON對象

var obj = eval(‘(‘ + str + ‘)’);

或者

var obj = str.parseJSON(); //由JSON字符串轉換為JSON對象

或者

var obj = JSON.parse(str); //由JSON字符串轉換為JSON對象

然後,就可以這樣讀取:

Alert(obj.name);

Alert(obj.sex);

特別注意:如果obj本來就是一個JSON對象,那麼使用eval()函數轉換後(哪怕是多次轉換)還是JSON對象,但是使用parseJSON()函數處理後會有問題(拋出語法異常)。

二、可以使用toJSONString()或者全局方法JSON.stringify()將JSON對象轉化為JSON字符串。

例如:

var last=obj.toJSONString(); //將JSON對象轉化為JSON字符

或者

var last=JSON.stringify(obj); //將JSON對象轉化為JSON字符

alert(last);

注意:

上 面的幾個方法中,除了eval()函數是js自帶的之外,其他的幾個方法都來自json.js包。新版本的 JSON 修改了 API,將 JSON.stringify() 和 JSON.parse() 兩個方法都注入到了 Javascript 的內建對象裏面,前者變成了 Object.toJSONString(),而後者變成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,則說明您的json包版本太低。

如何把一個對象轉換為json並將其發送到服務器

Gson(又稱Google Gson)是Google公司發佈的一個開放源代碼的Java庫,主要用途為序列化Java對象為JSON字符串,或反序列化JSON字符串成Java對象。

Gson的應用主要為toJson與fromJson兩個轉換函數,而在使用這種對象轉換之前需先創建好對象的類以及其成員才能成功的將JSON字符串成功轉換成相對應的對象。

class Examples {

private int answer1 = 100;

private String answer2 = “Hello world!”;

Examples(){

} // default constructor

}

序列化JAVA對象成JSON字符串

Examples example1 = new Examples();

Gson gson = new Gson();

String json = gson.toJson(example1);

== json is {“answer1″:100,”answer2″:”Hello world!”}

java 怎麼將對象轉換成json字符串

可以使用jackson的 new ObjectMapper().readValue(String, bean.class);

或者使用 JSONObject.toBean(String,bean.class);

都可以實現json轉化為bean

而 jackson 或者 JSONObject 的jar包網上均有下載,把下載的jar導入你的項目中即可。

java實體類怎麼轉換成json。

導入Google的包gson-2.2.4.jar

然後實例化Gson

static Gson gosn = new Gson();

String json = gosn.toJson(hashMap); //這裡放一個對象,什麼對象都可以。

轉化後就是Json,功能強大很多,也簡單很多。

json-lib-2.4-jdk15.jar

ezmorph-1.0.6.jar

轉換的話這樣用

String s= JSONArray.fromObject(user).toString();

spring-webmvc4

在方法上加入@ResponseBody,同時方法返回值為實體對象,spring會自動將對象轉換為json格式,並返回到客戶端

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-30 16:08
下一篇 2024-12-30 16:08

相關推薦

  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • c# enum轉換成string

    本文將從以下幾個方面詳細闡述c#中enum類型轉換成string類型的方法及注意事項。 一、基本語法和示例 c#中的enum類型可以看作是一組有名字的常量值,通常用於定義一組相關的…

    編程 2025-04-29
  • JSON的MD5

    在Web開發過程中,JSON(JavaScript Object Notation)是最常用的數據格式之一。MD5(Message-Digest Algorithm 5)是一種常用…

    編程 2025-04-29
  • 使用Java將JSON寫入HDFS

    本篇文章將從以下幾個方面詳細闡述Java將JSON寫入HDFS的方法: 一、HDFS簡介 首先,先來了解一下Hadoop分佈式文件系統(HDFS)。HDFS是一個可擴展性高的分佈式…

    編程 2025-04-29
  • 面向對象編程、類和對象

    面向對象編程(Object-Oriented Programming, OOP)是一種編程方法,它將現實世界中的事物抽象為對象(Object),對象的屬性和方法被封裝成類(Clas…

    編程 2025-04-29
  • python字符轉換成位元組的方法

    Python是一種很流行的編程語言,它支持多種數據類型的操作和轉換。在實際應用中,我們經常需要把字符轉換成位元組來進行網絡傳輸或者文件讀取等操作。Python提供了很多方法可以完成這…

    編程 2025-04-28
  • Mapster:一個高性能的對象映射庫

    本文將深入介紹furion.extras.objectmapper.mapster,一個高性能的對象映射庫,解釋它是如何工作的以及如何在你的項目中使用它。 一、輕鬆地實現對象之間的…

    編程 2025-04-28
  • 如何在dolphinscheduler中運行chunjun任務實例

    本文將從多個方面對dolphinscheduler運行chunjun任務實例進行詳細的闡述,包括準備工作、chunjun任務配置、運行結果等方面。 一、準備工作 在運行chunju…

    編程 2025-04-28
  • 如何使用Newtonsoft datatable轉Json

    Newtonsoft DataTable 是一個基於.NET的JSON框架,也是一個用於序列化和反序列化JSON的強大工具。 在本文中,我們將學習如何使用Newtonsoft Da…

    編程 2025-04-28
  • Python返回對象類型

    Python是一種動態、解釋型、高級編程語言。Python是一種面向對象的語言,即所有的一切都是一個對象。 一、基本類型 Python中的基本類型有整數int、浮點數float、布…

    編程 2025-04-28

發表回復

登錄後才能評論