我有一个JSON字符串,如下所示:
{
"package1": {
"type": "envelope",
"quantity": 1,
"length": 6,
"width": 1,
"height": 4
},
"package2": {
"type": "box",
"quantity": 2,
"length": 9,
"width": 9,
"height": 9
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Json.NET LINQ to JSON功能来处理我的JSON字符串,但我想知道我怎么能找到节点/元素/键的总数(我真的不确定它叫什么)在我的串.例如,上面的字符串有package1和package2所以我想知道如何让它返回整数2.有时我可能只有一个包,在这种情况下,我希望它返回整数1.其他我可能有20个包(在这种情况下,我希望它能返回20个).
我的JObject看起来像这样:
JObject o = JObject.Parse(myJsonString);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢你的帮助.
如果符合某些要求,是否有一种方便的方法从另一个列表中删除嵌套列表?例如,假设我们有一组止损,我们决定将每个止损集合称为一条路线.每条路线都在列表中.然后我们决定将每条路线放入一个列表中.
所以现在我们有一个路由列表,有人决定某些类型的路由确实不应该包含在路由列表中.我该如何删除这些路线?这是一些示例代码:
示例类
public class Stops
{
public Stops(int _param1, string _param2)
{
param1 = _param1;
param2 = _param2;
}
public int param1 { get; set; }
public string param2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
创建列表
List<List<Stops>> lstRoutes = new List<List<Stops>>();
List<Stops> lstStops = new List<Stops>();
List<Stops> lstMoreStops = new List<Stops>();
// Create some stops
for (int i = 0; i < 5; i++)
{
lstStops.Add(new Stops(i, "some text"));
}
lstRoutes.Add(lstStops);
// Create some more stops
for (int i = …Run Code Online (Sandbox Code Playgroud) 我正在使用.Net Neo4jClient(http://hg.readify.net/neo4jclient/wiki/Home)与Neo4j合作.在我的代码中,节点是机场,关系是航班.
如果我想同时创建节点和关系,我可以使用以下代码:
类
public class Airport
{
public string iata { get; set; }
public string name { get; set; }
}
public class flys_toRelationship : Relationship, IRelationshipAllowingSourceNode<Airport>, IRelationshipAllowingTargetNode<Airport>
{
public static readonly string TypeKey = "flys_to";
// Assign Flight Properties
public string flightNumber { get; set; }
public flys_toRelationship(NodeReference targetNode)
: base(targetNode)
{ }
public override string RelationshipTypeKey
{
get { return TypeKey; }
}
}
Run Code Online (Sandbox Code Playgroud)
主要
// Create a New Graph Object
var client = …Run Code Online (Sandbox Code Playgroud) 假设我们已经用一些代码初始化了一个地图:
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas-0"),
mapOptions);
}
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法可以确定页面上的特定地图是否已初始化(在这种情况下,地图位于 id="map-canvas-0")?
我可以想到一些使用隐藏字段的方法,但我希望有一种更简单的方法。
(如果你能想到一个更好的头衔,请告诉我.)
我正在研究路线优化计划.我从一个路线需要包含的点列表开始.我的第一步是创建所有可能路由(排列)的列表.然后我删除任何我可以的路线(例如,如果一个停止必须在另一个之前).完成后,我计算每个可能路线中每个点之间的距离和时间.每个点都是一个对象(TPoint),所有距离和时间值都存储在一个名为TData的单独类中,该类存储在每个TPoint实例中.我的问题是这样的:当我尝试更新TData时,比如第一站,在第一个可能的路线中,它将更新每个可能路线中相同TPoint的TData.这是因为类是引用类型并存储在堆上.我正在寻找一种解决方案,允许我在每个TPoint上存储TData.
下面是一些示例代码(下面的代码演示了当我修改一个对象(TPoint)时,我实际上只是使用引用来修改堆上的对象):
主要
// Let's create a list of points we need to hit.
List<TPoint> lstInitial = new List<TPoint>();
lstInitial.Add(new TPoint("A", new TData(-1, -1)));
lstInitial.Add(new TPoint("B", new TData(-1, -1)));
lstInitial.Add(new TPoint("C", new TData(-1, -1)));
// Now let's get all possible routes
IList<IList<TPoint>> lstPermutations = Permutations(lstInitial);
// Let's write these values to the first point, in the first possible route.
lstPermutations[0][0].oTData.distance = 10;
lstPermutations[0][0].oTData.minutes = 20;
foreach (IList<TPoint> perm in lstPermutations)
{
foreach (TPoint p in perm)
{
Response.Write(p.id + …Run Code Online (Sandbox Code Playgroud) c# ×4
asp.net ×1
google-maps ×1
javascript ×1
json ×1
json.net ×1
linq ×1
neo4j ×1
neo4jclient ×1