2015-09-28 49 views
2

早上好,大家好,創建從C#中的DINAMIC JSON給JavaScript

我在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獲得這些點。

我創建了一個數據表,我有我需要傳遞給這個JSON的信息,但我沒有關於如何使它任何線索..

任何幫助嗎?請記住我是C#和JSON編程的noob。

謝謝大家!

回答

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 
// ] 
// } 
+0

糟糕,我在JArray代碼中犯了一個錯誤,修正了。 –