您的位置:首页 > Web前端 > JavaScript

wp8 自定义Json数据内容

2013-11-29 11:00 162 查看
LZ在 http://blog.csdn.net/irenemay/article/details/12760751 说明了使用.Net自带的方法实现Json与字串的转换,但在实际使用中,可能协议本身并没有自定Json的Key值,导致我们不能确定所需的[DataMember],下面的方法实现了使用自定义Key到字串之间的转换。

class Json
{
public static StringBuilder strBuild = new StringBuilder("");//存储<Key,Value>转换成的Json

public static Dictionary<string, string> dict;//存储Json转换成的<Key,Value>

//加入Json数据格式的头 '{'
public static void AddHead()
{
strBuild.Append("{");
}

//添加<Key,Value>
public static void AddToJson(string istr, int i)
{
strBuild.Append("\"" + istr + "\"" + ":" + i.ToString());
}
public static void AddToJson(string istr, string str)
{
strBuild.Append("\"" + istr +"\"" + ":" + "\"" + str + "\"");
}

//添加','
public static void AddComma()
{
strBuild.Append(",");
}

//添加Json数据格式的末尾 '}'
public static void AddEnd()
{
strBuild.Append("}");
}

//解析Json数据到字符串
public static void SovJson(string istr)
{
//去头去尾 '{' 和 '}'
StringBuilder strbb = new StringBuilder(istr);

strbb.Remove(0, 1);
strbb.Remove(strbb.Length - 1, 1);

//按 ',' 分开
string[] strC = strbb.ToString().Split(new char[] { ',' });
string[][] strCmd = new string[strC.Length][];

//按 ':' 分开
for (int i = 0; i < strC.Length; i++)
{
strCmd[i] = strC[i].Split(new char[] { ':' });
}

//添加数据
dict = new Dictionary<string, string>();
for (int i = 0; i < strC.Length; i++)
{
StringBuilder temp1 = new StringBuilder(strCmd[i][0]);
temp1.Remove(0, 1);
temp1.Remove(temp1.Length - 1, 1);
strCmd[i][0] = temp1.ToString();
int xtemp;
if (!int.TryParse(strCmd[i][1], out xtemp))
{
temp1 = new StringBuilder(strCmd[i][1]);
temp1.Remove(0, 1);
temp1.Remove(temp1.Length - 1, 1);
strCmd[i][1] = temp1.ToString();
}

dict.Add(strCmd[i][0], strCmd[i][1].ToString());
}
}

//清空strBuild,为下一次解析做准备
public static void Clear()
{
strBuild.Clear();
dict = null;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐