`

json札记

阅读更多

js 中读取JSON的方法探讨

方法一:函数构造定义法返回
var strJSON = "{name:'json name'}";//得到的JSON
var obj = new Function("return" + strJSON)();//转换后的JSON对象
alert(obj.name);//json name

 

方法二:js中著名的eval函数
var strJSON = "{name:'json name'}";//得到的JSON
var obj = eval( "(" + strJSON + ")" );//转换后的JSON对象
alert(obj.name);//json name

 

Ps:第二种方法需要注意的是,对象表达式{'name':'json name'}必须用“()”扩住,否则
var strJSON = "{name:'json name'}";
var obj = eval(strJSON);
alert(obj.constructor);//String 构造函数
alert(obj.name);//undefine
必须把对象表达式扩起来eval执行才能生成一个匿名对象!

 

C#操作json的类;

代码
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace JsonMoster
{

public class JsonConvert
{

private List<Item> _items = new List<Item>();

public List<Item> Items
{
get { return _items; }
set { _items = value; }
}

public JsonConvert(params Item[] items)
{
_items.AddRange(items);
}

#region
// <summary>
// 将Json对象转换成Json对象串
//</summary>
//<returns>返回Json字符串jsonString</returns>
#endregion
public string ToJsonString()
{
List
<string> jsonString = new List<string>();
foreach (Item itm in _items)
{
jsonString.Add(itm.ToString());
}
return "[" + string.Join(",", jsonString.ToArray()) + "]";
}


//json与对象的相互转换

public static T JsonToObject<T>(string jsonString)
{
T result;
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer
= new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
using (System.IO.MemoryStream stream = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(jsonString)))
{
result
= (T)serializer.ReadObject(stream);
}
return result;
}

public static string ObjectToJson(object o)
{
string result = string.Empty;
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer
= new System.Runtime.Serialization.Json.DataContractJsonSerializer(o.GetType());
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
serializer.WriteObject(stream, o);
byte[] dataBytes = new byte[stream.Length];
stream.Position
= 0;
stream.Read(dataBytes,
0, dataBytes.Length);
result
= System.Text.Encoding.UTF8.GetString(dataBytes);
}
return result;
}
}


#region
/// <summary>
/// /// Json 数据对象
/// </summary>
///
#endregion

public class Item
{
private List<Attribute> _attributes = new List<Attribute>();
public List<Attribute> Attributes
{
get { return _attributes; }
set { _attributes = value; }
}

public Item(params Attribute[] attributes)
{
_attributes.AddRange(attributes);
}

public override string ToString()
{
List
<string> lst = new List<string>();
foreach (Attribute attr in _attributes)
{
lst.Add(
"\"" + attr.Name + "\":\"" + attr.Value + "\"");
}
return "{" + string.Join(",", lst.ToArray()) + "}";
}
/// <summary>
/// /// 对象的属性类
/// /// </summary>
public class Attribute
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
private string _value;
public string Value
{
get { return _value; }
set { _value = value; }
}

public Attribute(string attrName, string attrValue)
{
_name
= attrName;
_value
= attrValue;
}
}
}
}



 

分享到:
评论

相关推荐

    MFC使用json11解析JSON

    json11::Json jsonObject = json11::Json::parse(jsonString); if (jsonObject.is_object()) { // 处理解析成功的对象 } else { // 处理解析错误 } ``` 一旦你有了JSON对象,可以访问其成员或进行修改。例如,...

    json转换jsonschema

    而JSON Schema则是一个JSON格式的规范,用于定义JSON数据的结构和限制,类似于XML Schema,它为JSON数据提供了验证规则,确保数据的准确性和一致性。 在JavaScript开发中,有时我们需要将JSON对象转换为JSON Schema...

    json paser 属于idea插件 用于解析json

    json paser 属于idea插件 用于解析json json paser 属于idea插件 用于解析json json paser 属于idea插件 用于解析json json paser 属于idea插件 用于解析json json paser 属于idea插件 用于解析json json paser 属于...

    最好用的c++json库 nlohmann json源代码

    最好用的c++json库 nlohmann json源代码最好用的c++json库 nlohmann json源代码最好用的c++json库 nlohmann json源代码最好用的c++json库 nlohmann json源代码最好用的c++json库 nlohmann json源代码最好用的c++json...

    java json api,json api

    Java JSON API是Java平台上的库,提供了处理JSON的能力,包括解析JSON字符串、生成JSON对象以及进行JSON与Java对象之间的转换。 在Java中,有多种实现JSON API的库,如Jackson、Gson、org.json和json-lib等。本篇...

    JSON net.sf.json jar包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和应用程序之间的数据传输。它易于人阅读和编写,同时也易于机器解析和生成。`net.sf.json`是开源项目Apache软件基金会下的一个...

    json3.js 【JS / JavaScript 中解析JSON的js包,JSON官方的JSON解析包】

    json3.js 【JS / JavaScript 中解析JSON的js包,JSON官方的JSON解析包】。JavaScript中解析JSON的js包,页面中引入json3.js,即可使用。 使用方法:JSON.parse(str), JSON.stringify(obj) 更多详情请参考博文: ...

    json-c 一个用于c语言的json解析库,很强大

    在这个例子中,我们首先使用`json_tokener_parse`解析JSON字符串,然后通过`json_object_get_string`和`json_object_get_int`获取JSON对象中的数据,最后使用`json_object_put`释放内存。这就是`json-c`库基本的使用...

    i3-json-2010.rar_JSON_LabVIEW JSON_i3 json_labview与json_labview解

    json与labview常见相互转化,能解决大多json问题

    json net.sf.json

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传输数据。它以文本形式存储和传递数据,易于人阅读和编写,同时也易于机器解析和生成。`net.sf.json`是开源Java库,它...

    java服务端生成json(json服务端)

    Java服务端生成JSON是Web应用开发中的常见任务,主要用于数据交换。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们可以使用多种库来...

    json-c-master.zip_JSON_c json_json c_json-c master

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和应用程序之间的数据传输。JSON-C是JSON的一个C语言实现,它提供了一个简单的API,使得在C语言中处理JSON数据变得方便。JSON-C库...

    json数据展示插件,jsonview.js

    jsonview是chrome浏览器的一个插件,用来在浏览器中查看json数据。比如你在浏览器中可以查看从服务器端传回来的json数据,这些数据可能没有经过格式化的,也或者是经过了unicode编码,没有缩进,没有换行等等,造成...

    HTML版JsonViewer

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在Web开发中,JSON被广泛用于前后端数据传输,因为它简洁、直观且易于...

    Delphi_JSON delphi7解析JSON控件

    在IT行业中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务和应用程序之间的数据传输。在Delphi开发环境中,处理JSON数据是必不可少的技能,特别是对于Delphi 7这样的老版本。...

    PB解析json,解析JSON案例,解析jsondemo

    标题中的“PB解析json,解析JSON案例,解析jsondemo”表明了本文主要关注的是PowerBuilder(简称PB)如何处理JSON数据。在现代软件开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,...

    NewtonJson_NewtonJson_JSON_json解析_presentd78_

    标题中的"NewtonJson_NewtonJson_JSON_json解析_presentd78_"可能指的是使用Newtonsoft.Json库进行JSON解析的演示或教程。 在.NET环境中,Newtonsoft.Json.dll是该库的主要组件,它包含了一系列类和方法,使得...

    c#利用Newtonsoft.Json解析json(带数组)

    在.NET开发环境中,C#语言提供了多种方式来处理JSON数据,其中Newtonsoft.Json库是最常用的一个。本教程将深入探讨如何使用Newtonsoft.Json库在C#中解析包含数组的JSON对象,这对于处理从Web API、数据库或其他服务...

    JsonSQL:用SQL语句解析JSON文件

    **JsonSQL: SQL语句解析JSON文件** 在大数据处理和Web应用中,JSON(JavaScript Object Notation)格式已经成为数据交换的常见格式。然而,对于习惯使用SQL查询关系型数据库的人来说,处理JSON数据可能会觉得不太...

    C# json格式解析,Json格式字符串与C#对象相互转换,类库+使用案例,注释详细

    C# json格式转换,Json格式字符串与C#对象相互转换,类库和测试demo 写了一个json与C#对象相互装换的类库,直接调用就行,有测试案例,代码注释非常详细 部分方法: /// 将Json字符串解析为C#中的对象 /// Json格式...

Global site tag (gtag.js) - Google Analytics