c# json对象中含有数组,数组中又含有数组!

c# json对象中含有数组,数组中又含有数组!,第1张

Android读写数据库代码比较多,以下为基本步骤:

创建数据库,并读写</ol>创建一个名为Test的数据库,并返回一个SQLiteDatabase对象mSQLiteDatabasemSQLiteDatabase=thisopenOrCreateDatabase("Test",MODE_PRIVATE,null);通过execSQL方法来执行一条SQL语句。String CREATE_TABLE="create table 表名(列名,列名,……)";mSQLiteDatabaseexecSQL(CREATE_TABLE);

2以使用insert方法来添加数据,但是insert方法要求把数据都打包到ContentValues中,ContentValues其实就是一个Map,Key值是字段名称,Value值是字段的值。通过ContentValues的put方法就可以把数据放到ContentValues对象中,然后插入到表中去。具体实现如下:<pre t="code" l="java">ContentValues cv=new ContentValues();

cvput(TABLE_NUM,1);

cvput(TABLE_DATA,"测试数据库数据");

mSQLiteDatabaseinsert(Test,null,cv);

//同样可以使用execSQL方法来执行一条“插入“的SQL语句

String INSERT_DATA="insert into 表名(列名,……) values (值,……)";

mSQLiteDatabaseexecSQL(INSERT_DATA);

3创建TextView对象,并赋值TextView textView = (TextView) finadViewById(RidtextView);textViewsetTextView(text);

在net 20中提取这样的json

{"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}}

引用命名空间

using NewtonsoftJson;

using NewtonsoftJsonLinq;

可以把上面的JSON看成一个对象你只要写对应的类即可

public class UserInfo

{

public string name;

public int age;

public address addr;

}

public class address

{

public string city;

public string province;

}

然后在解析的地方这样写:

string jsonData="{\"name\":\"lily\",\"age\":23,\"addr\":{\"city\":guangzhou,\"province\":guangdong}}";

UserInfo user=(UserInfo)JsonConvertDeserializeObject(jsonData, typeof(UserInfo));

得到City的值只要:useraddrCity;

这样实现也行

JObject jsonObj = JObjectParse(jsonData);

string name=jsonObj ["name"]ToString();

string age=jsonObj ["age"]ToString();

string city=((JObject )jsonObj ["addr"])["city"]ToString();

string province=((JObject )jsonObj ["addr"])["province"]ToString();

如 何这个json是动态的呢?譬如让你输入一个json,如{"name":"lily","age":23,"addr": {"city":guangzhou,"province":guangdong}}; 然后让你输入一个对象,如city,然后系统会输出guangzhou这个值,那这样的话,json就是动态生成的了,我想了解有没有读取这样的json 的方法。(注意,json是多级嵌套的。)

就用遍历

public string GetJsonValue(JEnumerable<JToken> jToken,string key)

{

IEnumerator enumerator = jTokenGetEnumerator();

while (enumeratorMoveNext())

{

JToken jc = (JToken)enumeratorCurrent;

if (jc is JObject||((JProperty)jc)Value is JObject)

{

return GetJsonValue(jcChildren(), key);

}

else

{

if (((JProperty)jc)Name == key)

{

return ((JProperty)jc)ValueToString();

}

}

}

return null;

}

在调用的时候:

string jsonData = "{\"name\":\"lily\",\"age\":23,\"addr\":{\"city\":\"guangzhou\",\"province\":\"guangdong\"}}";

JObject jsonObj = JObjectParse(jsonData);

ResponseWrite(GetJsonValue(jsonObjChildren(), "province"));

如果有多层嵌套的数组

string jsonData = "{\"addr\":[{\"city\":\"guangzhou\",\"province\":\"guangdong\"},{\"city\":\"guiyang\",\"province\":\"guizhou\"}]}";

JObject jsonObj = JObjectParse(jsonData);

JArray jar = JArrayParse(jsonObj["addr"]ToString());

JObject j = JObjectParse(jar[0]ToString());

ResponseWrite(j["city"]);

JSON转XML

string xmlstr=((XmlDocument)JsonConvertDeserializeXmlNode(jsonData))InnerXmlToString();

c# jobject dictionary性能create table tb_name(id int primary key  identity,key int,name varchar)。

需要在项目==》引用==》右键添加引用(R),找到NewtonsoftJsondll。添加引用后,鼠标点击JObject后再右键==》解析即可。

数据类型:

基本数据类型:C#拥有比C/C++或者Java更广泛的数据类型这些类型是bool、byte、sbyte、short、ushort、int、uint、long、ulong、float、double和decimal,像Java一样,所有这些类型都有一个固定的大小又像C和C++一样。

两个基本类:一个名叫object的类是所有其他类的基类。而一个名叫string的类也象object一样是这个语言的一部分作为语言的一部分存在意味着编译器有可能使用它,无论何时在程序中写入一句带引号的字符串,编译器会创建一个string对象来保存它。

以上就是关于c# json对象中含有数组,数组中又含有数组!全部的内容,包括:c# json对象中含有数组,数组中又含有数组!、从数据库取出js代码如何让他显示js代码、android从服务器取出来的所有数据怎么赋值给textview等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9266939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存