【问题标题】:Creating a dynamic JSON from C# to JavaScript创建从 C# 到 JavaScript 的动态 JSON
【发布时间】:2015-12-25 18:38:56
【问题描述】:

我是 C# 编程的新手,我正在为我的毕业生开发一个基于地理位置的应用程序。

我有一个负责创建地图和插入标记的 Javascript。但是标记是从 JSON 文件中插入的,如下所示:

{
    "Id": 1,
    "Latitude": -19.212355602107472,
    "Longitude": -44.20234468749999,
    "Descricao": "Conteúdo do InfoBox 1"
},

然后。他们这样称呼这个文件:

函数 carregarPontos() {

$.getJSON('js/pontos.json', function(pontos) {

    $.each(pontos, function(index, ponto) {

        var marker = new google.maps.Marker({
            position: new google.maps.LatLng(ponto.Latitude, ponto.Longitude),
            title: "Meu ponto personalizado! :-D",
            map: map
        });

    });

});

}

carregarPontos();

我的问题是我需要从 MySql DB 中获取这些点。

我创建了一个 DataTable,其中有我需要传递给这个 JSON 的信息,但我没有任何关于如何制作它的线索。

有什么帮助吗?请记住,我是 C# 和 JSON 编程的菜鸟。

【问题讨论】:

    标签: javascript c# mysql json google-maps


    【解决方案1】:

    虽然标准 C# 库提供了一些 JSON 支持,但您最好使用 Newtonsoft 提供的免费 JSON.Net 库。您可以通过 NuGet 包管理器将其添加到 Visual Studio 中的项目中(项目 > 管理 NuGet 包)。

    然后确保您的文件有:
    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;

    要解析 JSON,只需写 dynamic json = JObject.Parse(str);
    然后你可以像在 JavaScript 中一样访问它的属性,唯一的区别是未定义的属性将返回 null。

    dynamic json = JObject.Parse("{example: \"Hello world\"}");
    Console.Write(json.example); // prints "Hello world"
    

    要编写 JSON,只需创建一个 JObject,然后将字符串、数字、JArrays 和 JObjects 附加到它。

    dynamic json = new JObject();
    json.example = "Hello world";
    json.myArray = new JArray(1, 2, 3, 4);
    Console.Write(json);
    //  {
    //    "example": "Hello world",
    //    "myArray": [
    //      1,
    //      2,
    //      3,
    //      4
    //    ]
    //  }
    

    【讨论】:

      【解决方案2】:

      据我了解,您的 sql 数据库中存储了一些数据,您将从中获取数据并传递给 javascript 函数。 如果是这种情况,那么您可以参考此链接。

      Pass json/javascript data/objects to c# function using ajax

      给出的示例是使用 aspx 方法而不是 MVC,但它会类似。

      【讨论】:

        猜你喜欢
        • 2020-01-01
        • 2015-07-18
        • 2012-05-02
        • 2019-10-21
        • 2010-09-19
        • 2016-10-02
        • 1970-01-01
        • 2021-11-22
        • 1970-01-01
        相关资源
        最近更新 更多