我已经使用NuGet Packet Newtonsoft JsonConvert
生成了一些JSON代码。但我想要的是现在将该代码导入javascript文件,以便我可以创建一个谷歌地图。
我的Json代码如下所示:
[
{
"title": 'Alibaug',
"lat": '18.641400',
"lng": '72.872200',
"description": 'Alibaug is a coastal town and a municipal council in Raigad District in the Konkan region of Maharashtra, India.'
},
{
"title": 'Mumbai',
"lat": '18.964700',
"lng": '72.825800',
"description": 'Mumbai formerly Bombay, is the capital city of the Indian state of Maharashtra.'
},
{
"title": 'Pune',
"lat": '18.523600',
"lng": '73.847800',
"description": 'Pune is the seventh largest metropolis in India, the second largest in the state of Maharashtra after Mumbai.'
}
];
我使用的语言是asp.net表单项目中的C#。
还可以查看我之前的问题:https://stackoverflow.com/questions/31480598/make-routes-on-google-map-in-asp-net-website
任何解决我问题的想法?
感谢
答案 0 :(得分:1)
如果您使用MVC,您可以这样做:
public Coordinates
{
public string Title { get; set; }
public string Lat { get; set; }
public string Lng { get; set; }
public string Description { get; set; }
}
public ActionResult GetCoordinates(){
// get your coordinates
List<Coordinates> coordinates = GetCoordinatesFromDatabase();
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var objectAsJsonString = serializer.Serialize(coordinates );
return Json(objectAsJsonString);
}
然后在你的javascript中你只需要反序列化json:
var coordinates = null;
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
success: function(result){
coordinates = JSON.parse(result);
// operate with your object
}
});
我希望这对你有所帮助。
答案 1 :(得分:1)
为此,请发出ajax请求或使用&lt; %%&gt; .aspx页面上的表示法。第二个更容易:)
示例:
我有一个方法getMapJson(),它在MyWebPage.aspx页面的代码隐藏中返回我的Json。将它设置为静态非常重要,否则您无法通过MyWebPage.aspx调用它
namespace MyApplication
{
public partial class MyWebPage : System.Web.UI.Page
{
public static string getMapJson()
{
//your code
return json;
}
}
}
在MyWebPage.aspx页面的脚本中,执行以下操作:
var myJsonVariable = $.parseJSON('<%=MyApplication.MyWebPage.getMapJson()%>');
现在你的myJsonVariable已经反序列化了你的Json:)
您也可以导入静态专有而不是方法,但是您必须在不晚于Page_Load的情况下设置其值,因为&lt; %%&gt;内的内容每页加载只计算一次,因此除非您重新加载,否则不会更改。
答案 2 :(得分:0)