(100分)json存放到数据库问题。在线等 急急急!!!(大家给力啊)

刹那的菜鸟 2013-10-10 04:26:12
最近做一个网站需要从另外一个网站的api获取json数据然后存放到自己的数据库。可是本人对于json操作一窍不通,所以请教各位大神。 废话不多说了 代码如下
json文件内容 我已经清理一大部分相同结构的数据:
(里面主要就是imei的Service 列表 我把它放到数据库2张表里面groups跟Services )

{
"SUCCESS": [
{
"MESSAGE": "IMEI Service List",
"LIST": {
"MOVISTAR SPAIN": {
"GROUPNAME": "MOVISTAR SPAIN",
"SERVICES": {
"3": {
"SERVICEID": 32,
"SERVICENAME": "MOVISTAR NOKIA INSTANTE",
"CREDIT": 4,
"TIME": "1-30 Minutes",
"INFO": "<p style=\"text-align: center;\"><span style=\"color: #ff0000;\" data-mce-mark=\"1\">SERVICIO INSTANTE DE 0-10 MINS PARA NOKIAS MOVISTAR(No dct3/4)</span></p>\r\n<p style=\"text-align: center;\"><span style=\"color: #ff0000;\" data-mce-mark=\"1\">CON GUIDADO SERIA C ,mayoria son20 digitos</span></p>\r\n<p style=\"text-align: center;\">åå¿ƒéƒ¨åˆ†æœº åž‹æ˜¯20位:å<span style=\"font-size: medium;\"> <strong>C系列(c2 c5),<strong>Nokia 7230</strong></strong></span></p>\r\n<p style=\"text-align: center;\"><span style=\"color: #ff0000;\" data-mce-mark=\"1\"><strong>SERIA ASHA 100, 101, 311, 500 y todos los de estas series</strong></span></p>\r\n<p style=\"text-align: center;\"><span style=\"color: #ff0000;\" data-mce-mark=\"1\"><strong> Y WINDOWS PHONE  Lumia</strong></span></p>",
"Requires.Network": "None",
"Requires.Mobile": "None",
"Requires.Provider": "None",
"Requires.PIN": "None",
"Requires.KBH": "None",
"Requires.MEP": "None",
"Requires.PRD": "None",
"Requires.Type": "None",
"Requires.Locks": "None",
"Requires.Reference": "None"
},
"8": {
"SERVICEID": 77,
"SERVICENAME": "MOVISTAR NOKIA 20 NCK",
"CREDIT": 12,
"TIME": "1-30 Minutes",
"INFO": "<p style=\"text-align: center;\"><span style=\"font-size: small; color: #ff0000;\"><strong>ALL NOKIA MOVISTAR SPAIN 20 DIGITS ,</strong></span><strong style=\"color: #ff0000; font-size: small;\">NOT SUPPORTED LUMIA 820 </strong></p>\r\n<p style=\"text-align: center;\"><strong style=\"color: #ff0000; font-size: small;\">Para Confirma si es 20 nck o no ,check info de movil con programa infinity ,descarga desde pagina aportado</strong></p>\r\n<p style=\"text-align: center;\"> </p>",
"Requires.Network": "None",
"Requires.Mobile": "None",
"Requires.Provider": "None",
"Requires.PIN": "None",
"Requires.KBH": "None",
"Requires.MEP": "None",
"Requires.PRD": "None",
"Requires.Type": "None",
"Requires.Locks": "None",
"Requires.Reference": "None"
}
}
},
"VODAFONE SPAIN": {
"GROUPNAME": "VODAFONE SPAIN",
"SERVICES": {
"5": {
"SERVICEID": 50,
"SERVICENAME": "VODAFONE NOKIA BB5 SL3",
"CREDIT": 5,
"TIME": "1-60 Minutes",
"INFO": "<p style=\"text-align: center;\"><strong><span style=\"font-size: medium; color: #ff0000;\">Nokia lumia, nokia 100, 610 y nokias 20 digitos no soportados!</span></strong></p>\r\n<p style=\"text-align: center;\"><span style=\"color: #ff0000; font-size: small;\"><strong>Nokia vodafone instante en horario de la tienda</strong></span></p>\r\n<p style=\"text-align: center;\"><span style=\"color: #ff0000; font-size: small;\"><strong>20ä½ç çš„æ‰‹æœºå’ŒLUMIA不支持</strong></span></p>\r\n<p style=\"text-align: center;\"><span style=\"color: #ff0000; font-size: small;\"><strong> </strong></span></p>",
"Requires.Network": "None",
"Requires.Mobile": "None",
"Requires.Provider": "None",
"Requires.PIN": "None",
"Requires.KBH": "None",
"Requires.MEP": "None",
"Requires.PRD": "None",
"Requires.Type": "None",
"Requires.Locks": "None",
"Requires.Reference": "None"
},
"10": {
"SERVICEID": 95,
"SERVICENAME": "VODAFONE SONY&SONY ERIC(RAPIDO)",
"CREDIT": 16,
"TIME": "1-24 Hours",
"INFO": "<p style=\"text-align: center;\"><span style=\"color: #ff0000; font-size: medium;\">VODAFONE PHONE ,NO NOKIA Y WINDOWN PHONE,NO IPHONEÂ </span></p>\r\n<p style=\"text-align: center;\"><span style=\"color: #ff0000; font-size: medium;\">SAMSUNG CODIGO NO LLEVA DEFREEZE</span></p>",
"Requires.Network": "None",
"Requires.Mobile": "None",
"Requires.Provider": "None",
"Requires.PIN": "None",
"Requires.KBH": "None",
"Requires.MEP": "None",
"Requires.PRD": "None",
"Requires.Type": "None",
"Requires.Locks": "None",
"Requires.Reference": "None"
}
}
}
}
}
],
"apiversion": "2.0.0"
}

下面是sql数据库的的2张表的结构:
这里就把需要的字段全部列出来: group的名称是唯一的。然后2张表根据groupid关联

Create table [dbo].[Groups]
(
[ID] [int] IDENTITY(1,1) NOT NULL, --id
[Groupname] [nvarchar] (50) not null default(''), --名称
CONSTRAINT [PK_Groups_id] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

CREATE TABLE [dbo].[Services](
[id] [int] IDENTITY(1,1) NOT NULL, --id
[Serviceid] [int] not null default(0), --服务 id
[Servicename] [nvarchar] (50) not null default(''), --服务名称
[groupid] [int] not null default(0), --组id
[Credit] [decimal] not null default(0.00), --所需点数
[Time] [nvarchar] (50) not null default(''), --需要的时间
[INFO] [nvarchar] (3000) not null default(''), --信息说明
[Network] [nvarchar] (100) not null default('none'), --网络需求
[Mobile] [nvarchar] (100) not null default('none'), --移动需求
[Provider] [nvarchar] (100) not null default('none'), --供应商需求
[PIN] [nvarchar] (100) not null default('none'), --手机PIN码需求
[KBH] [nvarchar] (100) not null default('none'), --KBH需求
[MEP] [nvarchar] (100) not null default('none'), --MEP需求
[PRD] [nvarchar] (100) not null default('none'), --PRD需求
[Type] [nvarchar] (100) not null default('none'), --类型需求
[Locks] [nvarchar] (100) not null default('none'), --是否锁定
[Reference] [nvarchar] (100) not null default('none'), --参考需求
[isstatus] [nvarchar] (1) not null default('0'), --状态 0 可用 1 不可用
[remark] [nvarchar] (255) not null default(''), --备注
[Pricingid] [int] not null default(0), --价格策略
CONSTRAINT [PK_Services_id] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]


谢谢大家了。 因为还有其他这样的json文件,我只需要有个这个方式的转化实例,最最好是能将我上面的成功转化存放到数据库的代码,我参照下操作其他json就方便了, 之前也百度很多,不过还是有些不明白。而且上面的json跟别人百度上的格式有不一样。
再次感谢大家 。在线等着。。。
...全文
8729 52 打赏 收藏 转发到动态 举报
写回复
用AI写文章
52 条回复
切换为时间正序
请发表友善的回复…
发表回复
别闹腰不好 2013-10-18
  • 打赏
  • 举报
回复
import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonUtils { public static String encodeList(Object[] objs) { return encodeList(Arrays.asList(objs)); } @SuppressWarnings("unchecked") public static String encodeList(Collection objs) { JSONArray list = new JSONArray(); if (objs == null || objs.size() == 0) return list.toString(); for (Object ae : objs) { list.add(ae); } return list.toString(); } @SuppressWarnings("unchecked") public static String encodeObject(Object obj){ if(obj instanceof Collection) return encodeList((Collection)obj); JSONObject jo = JSONObject.fromObject(obj); return jo.toString(); } @SuppressWarnings("unchecked") public static <T>List<T> decodeList(String str, Class<T> clazz) { if (str == null || "".equals(str)) return null; JSONArray obj = JSONArray.fromObject(str); Object[] rts = obj.toArray(); List<T> result = new ArrayList<T>(rts.length); for (int i = 0; i < rts.length; i++) { Object jo = rts[i]; T ele = (T)JSONObject.toBean((JSONObject) jo, clazz); result.add( ele ); } return result; } @SuppressWarnings("unchecked") public static <T>T decodeObject(String json,Class<T> clz){ JSONObject jsonObject = JSONObject.fromObject(json); T bean = (T) JSONObject.toBean(jsonObject, clz); return bean; } }
showjim 2013-10-18
  • 打赏
  • 举报
回复
引用 49 楼 qq751587432 的回复:
大哥 那个json格式要是不按照规则排序的话 就会出问题了
不按照规则排序是什么意思。 我给的样例程序,有几个地方没有判断null和Type,数据规律不同需要不同的逻辑处理。
刹那的菜鸟 2013-10-18
  • 打赏
  • 举报
回复
引用 40 楼 sbwwkmyd 的回复:
这个需要操作json解析节点,你可以试试fastCSharp转换成class
        class x1
        {
            public x2[] SUCCESS;
        }
        class x2
        {
            public string MESSAGE;
            public object LIST;
            public x3[] SPAINS
            {
                get
                {
                    return LIST != null ? ((fastCSharp.setup.cSharp.ajax.jsonNode)LIST).Dictionary.Values.getArray(node => fastCSharp.setup.cSharp.ajax.parseJson.Get<x3>(node)) : null;
                }
            }
        }
        class x3
        {
            public string GROUPNAME;
            public object SERVICES;
            public x4[] SERVICES_
            {
                get
                {
                    return SERVICES != null ? ((fastCSharp.setup.cSharp.ajax.jsonNode)SERVICES).Dictionary.Values.getArray(node => GetSERVICES(node)) : null;
                }
            }
            private static x4 GetSERVICES(fastCSharp.setup.cSharp.ajax.jsonNode node)
            {
                System.Collections.Generic.Dictionary<string, fastCSharp.setup.cSharp.ajax.jsonNode> dictionary = node.Dictionary;
                string Requires = "Requires.";
                foreach (string key in dictionary.Keys.getArray())
                {
                    if (key.StartsWith(Requires)) dictionary[key.Substring(Requires.Length)] = dictionary[key];
                }
                return fastCSharp.setup.cSharp.ajax.parseJson.Get<x4>(node);
            }
        }
        class x4
        {
            public int SERVICEID;
            public string SERVICENAME;
            int groupid;
            public decimal CREDIT;
            public string TIME;
            public string INFO;
            public string Network;
            public string Mobile;
            public string Provider;
            public string PIN;
            public string KBH;
            public string MEP;
            public string PRD;
            public string Type;
            public string Locks;
            public string Reference;
        }
            x1 value = fastCSharp.setup.cSharp.ajax.parseJson.Get<x1>(jsonString);
大哥 那个json格式要是不按照规则排序的话 就会出问题了
卧_槽 2013-10-16
  • 打赏
  • 举报
回复
引用 45 楼 qq751587432 的回复:
[quote=引用 44 楼 yuwenge 的回复:] 楼主你还是先说说为什么要把json放到数据库吧,是为了按某些字段查询么?
数据要存档。方便查询 方便调用。转到其他用处。[/quote] 只是如此的话,就直接那个nvarchar(max)把json字符串存着就行了。
刹那的菜鸟 2013-10-15
  • 打赏
  • 举报
回复
sbwwkmyd 的答案才是实用的。另外本想转赠分给你。发现没那个资格。唉 先给100分吧。
刹那的菜鸟 2013-10-15
  • 打赏
  • 举报
回复
引用 40 楼 sbwwkmyd 的回复:
这个需要操作json解析节点,你可以试试fastCSharp转换成class
        class x1
        {
            public x2[] SUCCESS;
        }
        class x2
        {
            public string MESSAGE;
            public object LIST;
            public x3[] SPAINS
            {
                get
                {
                    return LIST != null ? ((fastCSharp.setup.cSharp.ajax.jsonNode)LIST).Dictionary.Values.getArray(node => fastCSharp.setup.cSharp.ajax.parseJson.Get<x3>(node)) : null;
                }
            }
        }
        class x3
        {
            public string GROUPNAME;
            public object SERVICES;
            public x4[] SERVICES_
            {
                get
                {
                    return SERVICES != null ? ((fastCSharp.setup.cSharp.ajax.jsonNode)SERVICES).Dictionary.Values.getArray(node => GetSERVICES(node)) : null;
                }
            }
            private static x4 GetSERVICES(fastCSharp.setup.cSharp.ajax.jsonNode node)
            {
                System.Collections.Generic.Dictionary<string, fastCSharp.setup.cSharp.ajax.jsonNode> dictionary = node.Dictionary;
                string Requires = "Requires.";
                foreach (string key in dictionary.Keys.getArray())
                {
                    if (key.StartsWith(Requires)) dictionary[key.Substring(Requires.Length)] = dictionary[key];
                }
                return fastCSharp.setup.cSharp.ajax.parseJson.Get<x4>(node);
            }
        }
        class x4
        {
            public int SERVICEID;
            public string SERVICENAME;
            int groupid;
            public decimal CREDIT;
            public string TIME;
            public string INFO;
            public string Network;
            public string Mobile;
            public string Provider;
            public string PIN;
            public string KBH;
            public string MEP;
            public string PRD;
            public string Type;
            public string Locks;
            public string Reference;
        }
            x1 value = fastCSharp.setup.cSharp.ajax.parseJson.Get<x1>(jsonString);
大哥是我眼拙 我看到了 谢谢。
刹那的菜鸟 2013-10-15
  • 打赏
  • 举报
回复
引用 44 楼 yuwenge 的回复:
楼主你还是先说说为什么要把json放到数据库吧,是为了按某些字段查询么?
数据要存档。方便查询 方便调用。转到其他用处。
卧_槽 2013-10-15
  • 打赏
  • 举报
回复
楼主你还是先说说为什么要把json放到数据库吧,是为了按某些字段查询么?
刹那的菜鸟 2013-10-15
  • 打赏
  • 举报
回复
引用 40 楼 sbwwkmyd 的回复:
这个需要操作json解析节点,你可以试试fastCSharp转换成class
        class x1
        {
            public x2[] SUCCESS;
        }
        class x2
        {
            public string MESSAGE;
            public object LIST;
            public x3[] SPAINS
            {
                get
                {
                    return LIST != null ? ((fastCSharp.setup.cSharp.ajax.jsonNode)LIST).Dictionary.Values.getArray(node => fastCSharp.setup.cSharp.ajax.parseJson.Get<x3>(node)) : null;
                }
            }
        }
        class x3
        {
            public string GROUPNAME;
            public object SERVICES;
            public x4[] SERVICES_
            {
                get
                {
                    return SERVICES != null ? ((fastCSharp.setup.cSharp.ajax.jsonNode)SERVICES).Dictionary.Values.getArray(node => GetSERVICES(node)) : null;
                }
            }
            private static x4 GetSERVICES(fastCSharp.setup.cSharp.ajax.jsonNode node)
            {
                System.Collections.Generic.Dictionary<string, fastCSharp.setup.cSharp.ajax.jsonNode> dictionary = node.Dictionary;
                string Requires = "Requires.";
                foreach (string key in dictionary.Keys.getArray())
                {
                    if (key.StartsWith(Requires)) dictionary[key.Substring(Requires.Length)] = dictionary[key];
                }
                return fastCSharp.setup.cSharp.ajax.parseJson.Get<x4>(node);
            }
        }
        class x4
        {
            public int SERVICEID;
            public string SERVICENAME;
            int groupid;
            public decimal CREDIT;
            public string TIME;
            public string INFO;
            public string Network;
            public string Mobile;
            public string Provider;
            public string PIN;
            public string KBH;
            public string MEP;
            public string PRD;
            public string Type;
            public string Locks;
            public string Reference;
        }
            x1 value = fastCSharp.setup.cSharp.ajax.parseJson.Get<x1>(jsonString);
怎么用啊?大哥
刹那的菜鸟 2013-10-15
  • 打赏
  • 举报
回复
引用 41 楼 sbwwkmyd 的回复:
使用fastCSharp也可以这样定义class
        class x1
        {
            public x2[] SUCCESS;
        }
        class x2
        {
            public string MESSAGE;
            public x3[] SPAINS;
            private object LIST
            {
                set
                {
                    SPAINS = value != null ? ((fastCSharp.setup.cSharp.ajax.jsonNode)value).Dictionary.Values.getArray(node => fastCSharp.setup.cSharp.ajax.parseJson.Get<x3>(node)) : null;
                }
            }
        }
        class x3
        {
            public string GROUPNAME;
            public x4[] SERVICES_;
            private object SERVICES
            {
                set
                {
                    SERVICES_ = value != null ? ((fastCSharp.setup.cSharp.ajax.jsonNode)value).Dictionary.Values.getArray(node => GetSERVICES(node)) : null;
                }
            }
            private static x4 GetSERVICES(fastCSharp.setup.cSharp.ajax.jsonNode node)
            {
                System.Collections.Generic.Dictionary<string, fastCSharp.setup.cSharp.ajax.jsonNode> dictionary = node.Dictionary;
                string Requires = "Requires.";
                foreach (string key in dictionary.Keys.getArray())
                {
                    if (key.StartsWith(Requires)) dictionary[key.Substring(Requires.Length)] = dictionary[key];
                }
                return fastCSharp.setup.cSharp.ajax.parseJson.Get<x4>(node);
            }
        }
        class x4
        {
            public int SERVICEID;
            public string SERVICENAME;
            int groupid;
            public decimal CREDIT;
            public string TIME;
            public string INFO;
            public string Network;
            public string Mobile;
            public string Provider;
            public string PIN;
            public string KBH;
            public string MEP;
            public string PRD;
            public string Type;
            public string Locks;
            public string Reference;
        }
2个都是可以的吗? 哥们您现在这是定义吧。用什么传值呢?
刹那的菜鸟 2013-10-14
  • 打赏
  • 举报
回复
没人了啊??????????????????????????
showjim 2013-10-14
  • 打赏
  • 举报
回复
使用fastCSharp也可以这样定义class
        class x1
        {
            public x2[] SUCCESS;
        }
        class x2
        {
            public string MESSAGE;
            public x3[] SPAINS;
            private object LIST
            {
                set
                {
                    SPAINS = value != null ? ((fastCSharp.setup.cSharp.ajax.jsonNode)value).Dictionary.Values.getArray(node => fastCSharp.setup.cSharp.ajax.parseJson.Get<x3>(node)) : null;
                }
            }
        }
        class x3
        {
            public string GROUPNAME;
            public x4[] SERVICES_;
            private object SERVICES
            {
                set
                {
                    SERVICES_ = value != null ? ((fastCSharp.setup.cSharp.ajax.jsonNode)value).Dictionary.Values.getArray(node => GetSERVICES(node)) : null;
                }
            }
            private static x4 GetSERVICES(fastCSharp.setup.cSharp.ajax.jsonNode node)
            {
                System.Collections.Generic.Dictionary<string, fastCSharp.setup.cSharp.ajax.jsonNode> dictionary = node.Dictionary;
                string Requires = "Requires.";
                foreach (string key in dictionary.Keys.getArray())
                {
                    if (key.StartsWith(Requires)) dictionary[key.Substring(Requires.Length)] = dictionary[key];
                }
                return fastCSharp.setup.cSharp.ajax.parseJson.Get<x4>(node);
            }
        }
        class x4
        {
            public int SERVICEID;
            public string SERVICENAME;
            int groupid;
            public decimal CREDIT;
            public string TIME;
            public string INFO;
            public string Network;
            public string Mobile;
            public string Provider;
            public string PIN;
            public string KBH;
            public string MEP;
            public string PRD;
            public string Type;
            public string Locks;
            public string Reference;
        }
showjim 2013-10-14
  • 打赏
  • 举报
回复
这个需要操作json解析节点,你可以试试fastCSharp转换成class
        class x1
        {
            public x2[] SUCCESS;
        }
        class x2
        {
            public string MESSAGE;
            public object LIST;
            public x3[] SPAINS
            {
                get
                {
                    return LIST != null ? ((fastCSharp.setup.cSharp.ajax.jsonNode)LIST).Dictionary.Values.getArray(node => fastCSharp.setup.cSharp.ajax.parseJson.Get<x3>(node)) : null;
                }
            }
        }
        class x3
        {
            public string GROUPNAME;
            public object SERVICES;
            public x4[] SERVICES_
            {
                get
                {
                    return SERVICES != null ? ((fastCSharp.setup.cSharp.ajax.jsonNode)SERVICES).Dictionary.Values.getArray(node => GetSERVICES(node)) : null;
                }
            }
            private static x4 GetSERVICES(fastCSharp.setup.cSharp.ajax.jsonNode node)
            {
                System.Collections.Generic.Dictionary<string, fastCSharp.setup.cSharp.ajax.jsonNode> dictionary = node.Dictionary;
                string Requires = "Requires.";
                foreach (string key in dictionary.Keys.getArray())
                {
                    if (key.StartsWith(Requires)) dictionary[key.Substring(Requires.Length)] = dictionary[key];
                }
                return fastCSharp.setup.cSharp.ajax.parseJson.Get<x4>(node);
            }
        }
        class x4
        {
            public int SERVICEID;
            public string SERVICENAME;
            int groupid;
            public decimal CREDIT;
            public string TIME;
            public string INFO;
            public string Network;
            public string Mobile;
            public string Provider;
            public string PIN;
            public string KBH;
            public string MEP;
            public string PRD;
            public string Type;
            public string Locks;
            public string Reference;
        }
            x1 value = fastCSharp.setup.cSharp.ajax.parseJson.Get<x1>(jsonString);
刹那的菜鸟 2013-10-13
  • 打赏
  • 举报
回复
引用 35 楼 sp1234 的回复:
我在帖子 http://bbs.csdn.net/topics/390006799 写过一个与你的要求相反的代码。 这就好象是工厂可以“把猪肉放入生产线上,另一头出现了包装好的火腿肠”。这体现了大规模生产的好处。但是如果你硬要反过来,可能就是自讨苦吃。
大哥 我这个你能弄个吗?
刹那的菜鸟 2013-10-13
  • 打赏
  • 举报
回复
引用 35 楼 sp1234 的回复:
我在帖子 http://bbs.csdn.net/topics/390006799 写过一个与你的要求相反的代码。 这就好象是工厂可以“把猪肉放入生产线上,另一头出现了包装好的火腿肠”。这体现了大规模生产的好处。但是如果你硬要反过来,可能就是自讨苦吃。
nojion? 我这边是要接受其他网站的信息, 它给的就是这样的 我至少要先理清楚 然后先把基础资料放到我的数据库存放好调用。
  • 打赏
  • 举报
回复
“苦”在什么地方呢?这个就懒得去说了。只是给你一个提醒,一旦用起来NoSQL,基本上没人会再回头。
  • 打赏
  • 举报
回复
我在帖子 http://bbs.csdn.net/topics/390006799 写过一个与你的要求相反的代码。 这就好象是工厂可以“把猪肉放入生产线上,另一头出现了包装好的火腿肠”。这体现了大规模生产的好处。但是如果你硬要反过来,可能就是自讨苦吃。
  • 打赏
  • 举报
回复
在无模式的json或者xml面前,关系数据库的思维模式早已经崩溃了。你应该把NoSQL看做一个技术方向,而不要硬塞在关系数据库里边。
刹那的菜鸟 2013-10-12
  • 打赏
  • 举报
回复
真不喜欢后面 弄个没有满意答案结贴
刹那的菜鸟 2013-10-12
  • 打赏
  • 举报
回复
引用 26 楼 jiaoshiyao 的回复:
楼主你还没解决啊
没有啊 唉 。就没人能将上面的json实际操作下? 那个json不同于其他的简单json。 大家都那么喜欢拿别人的东西套。。。。
加载更多回复(31)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧