解决方案 »

  1.   

    Json对象格式化字符串输出这个应该可以解决你的问题。
      

  2.   

    试试fastCSharp        public class XXX
            {
                public serie[] series;
            }
            public class serie
            {
                string name;
                string type;
                string mapType;
                bool hoverable;
                bool roam;
                data[] data;
                Point Point;
                geoCoord[] geoCoords;
                fastCSharp.setup.cSharp.json.node geoCoord
                {
                    set
                    {
                        geoCoords = value.Dictionary.getArray(node => new geoCoord { name = node.Key, values = fastCSharp.setup.cSharp.json.parse.Get<double[]>(node.Value) });
                    }
                }
            }
            public class Point
            {
                int symbolSize;
                itemStyle itemStyle;
                data[] data;
            }
            public class itemStyle
            {
                normal normal;
                normal emphasis;
            }
            public class normal
            {
                string borderColor;
                int borderWidth;
                label label;
            }
            public class label
            {
                bool show;
            }
            public class data
            {
                string name;
                int value;
            }
            public class geoCoord
            {
                public string name;
                public double[] values;
            }            string json = @"{series: [
        {
            name: '市威胁源数量',
            type: 'map',
            mapType: 'china',
            hoverable: false,
            roam: true,
            data: [],
            Point: {
                symbolSize: 5,       // 标注大小,半宽(半径)参数,当图形为方向或菱形则总宽度为symbolSize * 2
                itemStyle: {
                    normal: {
                        borderColor: '#87cefa',
                        borderWidth: 1,            // 标注边线线宽,单位px,默认为1
                        label: {
                            show: false
                        }
                    },
                    emphasis: {
                        borderColor: '#1e90ff',
                        borderWidth: 5,
                        label: {
                            show: false
                        }
                    }
                },
                data: [
                    { name: ""海门"", value: 9 },
                    { name: ""鄂尔多斯"", value: 12 },
                    { name: ""招远"", value: 12 },
                    { name: ""舟山"", value: 12 },
                    { name: ""齐齐哈尔"", value: 14 },
                    { name: ""盐城"", value: 15 },
                    { name: ""赤峰"", value: 16 }, 
                ]
            },
            geoCoord: {
                ""海门"": [121.15, 31.89],
                ""鄂尔多斯"": [109.781327, 39.608266],
                ""招远"": [120.38, 37.35],
                ""舟山"": [122.207216, 29.985295],
                ""齐齐哈尔"": [123.97, 47.33],
                ""盐城"": [120.13, 33.38],
                ""赤峰"": [118.87, 42.28],
            }
        }]}";
                XXX values = fastCSharp.setup.cSharp.json.parse.Get<XXX>(json);
      

  3.   

    为什么要在后台去拼接这些东西?直接传data不就行了么。
      

  4.   

    把你的json复制到json2csharp,可以在线自动帮你生成C#类,这样你就可以复制下来放到你的项目了
      

  5.   


    用了fastcsharp,编译通过了,但是打开网页后出现:
    编译器错误消息: BC30560: “ExtensionAttribute”在命名空间“System.Runtime.CompilerServices”中不明确。
      

  6.   

    最关键的geoCoord部分无法识别
      

  7.   

    5楼的答案足以解决你这个json问题。
      

  8.   


    我已经用了,但是得先结构化才能用Newtonsoft.Json 的tojson方法问题是        geoCoord: {            ""海门"": [121.15, 31.89],            ""鄂尔多斯"": [109.781327, 39.608266],            ""招远"": [120.38, 37.35],            ""舟山"": [122.207216, 29.985295],            ""齐齐哈尔"": [123.97, 47.33],            ""盐城"": [120.13, 33.38],            ""赤峰"": [118.87, 42.28],        }
    这部分怎么格式化
      

  9.   

    fastCSharp默认框架是.NET2.0,你需要把fastCSharp目标框架修改为3.5或者以上,重新编译fastCSharp项目。
      

  10.   

    1.把fastCSharp与fastCSharp.ui目标框架改为.NET3.5。
    2.连续重新编译fastCSharp.ui项目3次,前两次可能会弹出文本文件日志提示,最后一次不提示就说明兼容.NET.35了。
      

  11.   

    1.把fastCSharp与fastCSharp.ui目标框架改为.NET3.5。
    2.连续重新编译fastCSharp.ui项目3次,前两次可能会弹出文本文件日志提示,最后一次不提示就说明兼容.NET.35了。照着做了,还是不行会出现编译器错误消息: BC30560: “ExtensionAttribute”在命名空间“System.Runtime.CompilerServices”中不明确。
    我的程序集都是4.0的而且调成3.5还不能编译,至少得4.0.我把fastCSharp与fastCSharp.ui目标框架改为.NET4.0重新编译了。还是不行啊
      

  12.   


    我已经用了,但是得先结构化才能用Newtonsoft.Json 的tojson方法问题是        geoCoord: {            ""海门"": [121.15, 31.89],            ""鄂尔多斯"": [109.781327, 39.608266],            ""招远"": [120.38, 37.35],            ""舟山"": [122.207216, 29.985295],            ""齐齐哈尔"": [123.97, 47.33],            ""盐城"": [120.13, 33.38],            ""赤峰"": [118.87, 42.28],        }
    这部分怎么格式化这部分会被格式化成字典形式
      

  13.   

    编译错误不用管它,重新生成fastCSharp.ui三次应该就过了。
    注意要选择 重新生成,而不是 生成。
      

  14.   


    我已经用了,但是得先结构化才能用Newtonsoft.Json 的tojson方法问题是        geoCoord: {            ""海门"": [121.15, 31.89],            ""鄂尔多斯"": [109.781327, 39.608266],            ""招远"": [120.38, 37.35],            ""舟山"": [122.207216, 29.985295],            ""齐齐哈尔"": [123.97, 47.33],            ""盐城"": [120.13, 33.38],            ""赤峰"": [118.87, 42.28],        }
    这部分怎么格式化这部分会被格式化成字典形式
    好吧,用字典的形式终于实现了,谢谢
      

  15.   

    谢谢,那部分的结构用字典就行了。不过还是非常感谢你的解答。
    这个工具很有用,我再好好研究一下。我重新生成fastCSharp.ui三次,成功生成了两个文件,另一个是fastCSharp.dll。我把这个dll添加到我的项目中,一样还是会有编译器错误消息: BC30560: “ExtensionAttribute”在命名空间“System.Runtime.CompilerServices”中不明确。我下载的fastCSharp实在codeplex下载的最新版。
      

  16.   

    暂时还没有人碰到过你这种情况,如果编译fastCSharp.ui无法自动解决版本问题的话,只能给fastCSharp项目添加一个 条件编译符号 DOTNET35,然后编译fastCSharp项目。