创建从 C# 到 JavaScript 的动态 JSON
Posted
技术标签:
【中文标题】创建从 C# 到 JavaScript 的动态 JSON【英文标题】:Creating a dynamic JSON from C# to JavaScript 【发布时间】: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 编程的菜鸟。
【问题讨论】:
【参考方案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,但它会类似。
【讨论】:
以上是关于创建从 C# 到 JavaScript 的动态 JSON的主要内容,如果未能解决你的问题,请参考以下文章
从 json 动态创建的 Javascript 表单输入,需要将对象映射到另一个对象的正确字段并保存
在 C# 4 中使用动态类型访问 javascript 对象的属性