通过java接口,或者查询数据库返回json串。

可以有两种方式进行解读。

1.简单方式

没有深层结构,最好只有一条数据(当然也可多条)。可以用datatable来获取。返回的是clo0、clo1、clo2...这种标识。

这就要求事先知道列的内容,尤其是自己写的查询语句的时候。

DataTable dt0 = FromRuntime.sqlToDataTables(sql);
//如果有数据
if (dt0.Rows.Count > 0)
{
  //遍历dt0
  for (int i = 0; i < dt0.Rows.Count; i++)
  {
    //填充到列表
    DataList.Add(new DataModel(int.Parse(dt0.Rows[i]["col0"].ToString()), dt0.Rows[i]["col1"].ToString(), dt0.Rows[i]["col2"].ToString()));
  }
}

2.复杂方式

获取字符串后转换成键值对,然后遍历,当然,键值对的key也是事先知道的

string parameter = String.Format("loginUid={0}&id={1}", UserAndSecurity.g_userInfo.id, userAdd.m_userModel.Id);

string stsr = Inth.Https.FromRuntime.GetPageSourceToDataTable2("inth_user_show", parameter);

Dictionary<string, object> dic = Inth.Https.FromRuntime.JsonToDictionary(stsr);

if (dic["code"].ToString() != "SUCCESS")
{
MessageBox.Show(dic["msg"].ToString());
return;
}

Dictionary<string, object> dicData = (Dictionary<string, object>)dic["data"];

int.TryParse(dicData["id"].ToString(), out UserAndSecurity.g_userInfo.id);
UserAndSecurity.g_userInfo.name = dicData["name"].ToString();
UserAndSecurity.g_userInfo.password = dicData["password"].ToString();

//数组列表

ArrayList dicData = (ArrayList)item.Value;

foreach (Dictionary<string, object> itemMenus in dicData)
{

}

调用接口进行操作:

string parameter = String.Format("loginUid={0}&planId={1}&name={2}", UserAndSecurity.g_userInfo.id, m_iPlanId, textBox1.Text);

string stsr = Inth.Https.FromRuntime.GetPageSourceToDataTable2("inth_deliver_fee_add", parameter);

if (stsr.Contains("SUCCESS"))
{
MessageBox.Show("操作完成");
this.DialogResult = DialogResult.OK;
}
else
{
MessageBox.Show("操作失败");
this.DialogResult = DialogResult.Cancel;
}

winform - json串的转换的更多相关文章

  1. iOS 字典或者数组和JSON串的转换

    在和服务器交互过程中,会iOS 字典或者数组和JSON串的转换,具体互换如下: // 将字典或者数组转化为JSON串 + (NSData *)toJSONData:(id)theData { NSEr ...

  2. 为javasript中对象与json串之间转换的总结。

    jQuery.json 是 jQuery 的一个插件,可轻松实现对象和 JSON 字符串之间的转换.可序列化 JavaScript 对象.数值.字符串和数组到 JSON 字符串,同时可转换 JSON ...

  3. C# 对象与JSON串互相转换(转)

    DoNet2.0 需要借助于Newtonsoft.Json.dll 代码 using System;using System.IO;using System.Text;using Newtonsoft ...

  4. C# 对象与JSON串互相转换

    using System;using System.IO;using System.Text;using Newtonsoft.Json; namespace OfflineAcceptControl ...

  5. JS中JSON.stringify()方法,将js对象(json串)转换成字符串,传入服务器

    JSON 通常用于与服务端交换数据. 在向服务器发送数据时一般是字符串. 我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串. 语法 JSON.string ...

  6. Java—JSON串转换成实体Bean对象模板

    介绍 模板需求说明   开发中经常遇到前端传递过来的JSON串的转换,后端需要解析成对象,有解析成List的,也有解析成Map的. 依赖 <dependency> <groupId& ...

  7. Java开发笔记(一百零八)JSON串的定义和解析

    前面提到URL尾巴支持添加请求参数,具体格式形如“参数A名称=A参数值&参数B名称=B参数值”,可是这种格式只能传递简单的键值对信息,不能传递结构化数据,也无法传递数组形式的参数,因而它不适用 ...

  8. JSON详解以及可以把javabean转换成json串的json-lib应用

    JSON 1. json是什么 它是js提供的一种数据交换格式! 2. json的语法 {}:是对象! 属性名必须使用双引号括起来!单引不行!!! 属性值:null,数值,字符串,数组:使用[]括起来 ...

  9. Gson把json串转换成java实体对象

    Gson把json串转换成java实体对象的方法如下: 1.首先导入Gson的jar包,网上可以下载. java实体对象如下: public class Model { private double ...

随机推荐

  1. 【转】获取/设置IFRAME内对象元素的几种JS方法

    1.IE专用(通过frames索引形象定位): document.frames[i].document.getElementById('元素的ID'); 2.IE专用(通过IFRAME名称形象定位): ...

  2. .NET中公共变量与属性的区别

    在我们的程序中经常会出现以下的代码:  如:     成员变量     public   string   Name;     或者用属性     private   string   name    ...

  3. ubuntu配置openvpn

    http://www.zhixing123.cn/ubuntu/ubuntu-openvpn-settings-tutorial.html 本文介绍Ubuntu连接使用OpenVPN方法教程,Ubun ...

  4. 基于Annotation与SpringAOP的缓存简单解决方案

    前言: 由于项目的原因,需要对项目中大量访问多修改少的数据进行缓存并管理,为达到开发过程中通过Annotation简单的配置既可以完成对缓存的设置与更新的需求,故而设计的该简易的解决方案. 涉及技术: ...

  5. Android学习笔记之Intent(1)

    1.Intent指定启动目标组件 2.Intentfilter描述基本组件所在地址 3.其他包引入资源文件时记得引入R所在的包 package com.jikexueyuan.intent; impo ...

  6. sql语句优化之not in

    多表关联想查a表中除去b表的可用not exists 效率比not in 更高 优化后的语句用时0.421秒 select john.*, (case when round((case john.su ...

  7. JQuery的方便之处——宽高设置、坐标值和滚动条+事件绑定机制

    1.元素的宽高 可以通过css来进行设置,例如:$("元素").css({"宽度":"值","高度":"值&q ...

  8. JS传递到后台中文 出现乱码问题

    js 异步传递中文字符,后台接收出现乱码问题 function showFirSelect(a){ var b = encodeURI(a); var secUrl = "<%=bas ...

  9. Vmware Tools is currently being installed on your system(转)

    Follow the 3 Steps : Restore the /etc/issue file: sudo mv /etc/issue.backup /etc/issue* PS:在本人的PC上执行 ...

  10. Arduino中hex文件的保存及应用(转)

    源:Arduino中hex文件的保存及应用 arduino在编译.链接.下载之后,hex文件自动删除了,造成软件仿真(如用proteus仿真)及其他单片机板应用的不便.以下是自己实践的小结,与大家分享 ...