Tily-Tao 2013-10-15 02:11 采纳率: 100%
浏览 8678
已采纳

C#字符串获取后如何取其中的一个字符

_Callback( {"Ishost":0, "items":[], "calvisitcount":[0,19,1,10,24,11,29,1,1,2,2,2,0,4,0,1,6,2,1,0,2,2,2,0,1,3,0,0,0,1,0], "modvisitcount":[{"mod":0, "todaycount":0, "totalcount":1409245}, {"mod":1, "todaycount":0, "totalcount":0}, {"mod":3, "todaycount":0, "totalcount":10}, {"mod":8, "todaycount":0, "totalcount":98}, {"mod":10, "todaycount":0, "totalcount":17}], "lastlogin":0, "twlogincount":0, "lastgettime":1381797259});

其中我想要截取第一个"todaycount":和"totalcount":中间的那个数字该怎么截取?想了好久都没想出来,脑袋进水了。。。。。。。。。。。。。。。。。。。。。。。。因为这是从网页获取的,放在string里后不知道该怎么截取,求帮助,求思路,help。。。。。。。。。。。。。。。。。。

  • 写回答

4条回答 默认 最新

  • xialxl 2013-10-15 07:38
    关注

    _Callback后面小括号 中的一整个字符串是一个JSON 格式的字符串。

    C# 如下操作就可以了
    第一步,定义类 ClassA,ClassTemp:
    public class ClassA
    {
    public int mod;
    public int todaycount;
    public int totalcount;
    }
    public class ClassTemp
    {
    public int Ishost;
    public int[] calvisitcount;
    public ClassA[] modvisitcount;
    ......
    }
    第二步,字符串反序列化为ClassTemp:
    string jsonString ={"Ishost":0, "items":[], "calvisitcount":[0,19,1,10,24,11,29,1,1,2,2,2,0,4,0,1,6,2,1,0,2,2,2,0,1,3,0,0,0,1,0], "modvisitcount":[{"mod":0, "todaycount":0, "totalcount":1409245}, {"mod":1, "todaycount":0, "totalcount":0}, {"mod":3, "todaycount":0, "totalcount":10}, {"mod":8, "todaycount":0, "totalcount":98}, {"mod":10, "todaycount":0, "totalcount":17}], "lastlogin":0, "twlogincount":0, "lastgettime":1381797259};

    System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
    jsonString temp = serializer.Deserialize(jsonString)

    temp 是一个强类型的对象了,就可以直接用了。

    javascript 操作如下:
    var jsonObj ={"Ishost":0, "items":[], "calvisitcount":[0,19,1,10,24,11,29,1,1,2,2,2,0,4,0,1,6,2,1,0,2,2,2,0,1,3,0,0,0,1,0], "modvisitcount":[{"mod":0, "todaycount":0, "totalcount":1409245}, {"mod":1, "todaycount":0, "totalcount":0}, {"mod":3, "todaycount":0, "totalcount":10}, {"mod":8, "todaycount":0, "totalcount":98}, {"mod":10, "todaycount":0, "totalcount":17}], "lastlogin":0, "twlogincount":0, "lastgettime":1381797259};

    jsonObj 就是你要的东西了。
    var todaycount= jsonObj.modvisitcount[0].todaycount;//todaycount等于 0
    var totalcount= jsonObj.modvisitcount[0].totalcount;//totalcount等于 1409245

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵