Отказ от ответственности: используйте парсер, если у вас есть опция. Тем не менее ...
Это регулярное выражение, которое я использую (!) Для соответствия тэгам HTML:
<(?:"[^"]*"['"]*|'[^']*'['"]*|[^'">])+>
Это может быть не идеально, но я запустил этот код через lot HTML. Обратите внимание, что он даже ловит странные вещи, такие как , которые появляются в Интернете.
Думаю, чтобы он не соответствовал самодостаточным тегам, вы либо захотите использовать Kobi :
<(?:"[^"]*"['"]*|'[^']*'['"]*|[^'">])+(?
или просто объединить, если и если нет.
To downvoters: Это рабочий код из реального продукта. Я сомневаюсь, что кто-либо читает эту страницу, создается впечатление, что социально приемлемо использовать регулярные выражения для HTML.
Предостережение. Я должен заметить, что это регулярное выражение все еще ломается при наличии блоков CD87, комментариев и элементов сценария и стиля. Хорошая новость заключается в том, что вы можете избавиться от тех, кто использует регулярное выражение ...
Как и @Maximiliangerhardt, MiniJson не имеет возможности десериализоваться должным образом. Я использовал JsonFx и работал как шарм. Работает с []
player[] p = JsonReader.Deserialize<player[]>(serviceData);
Debug.Log(p[0].playerId +" "+ p[0].playerLoc+"--"+ p[1].playerId + " " + p[1].playerLoc+"--"+ p[2].playerId + " " + p[2].playerLoc);
вам нужно добавить класс [System.Serializable]
в PlayerItem
, например:
using System;
[System.Serializable]
public class PlayerItem {
public string playerId;
public string playerLoc;
public string playerNick;
}
Предположим, что у вас есть JSON, подобный этому
[
{
"type": "qrcode",
"symbol": [
{
"seq": 0,
"data": "HelloWorld9887725216",
"error": null
}
]
}
]
Чтобы разобрать вышеупомянутый JSON в единстве, вы можете создать такую модель JSON.
[System.Serializable]
public class QrCodeResult
{
public QRCodeData[] result;
}
[System.Serializable]
public class Symbol
{
public int seq;
public string data;
public string error;
}
[System.Serializable]
public class QRCodeData
{
public string type;
public Symbol[] symbol;
}
И затем просто проанализировать следующим образом ...
var myObject = JsonUtility.FromJson<QrCodeResult>("{\"result\":" + jsonString.ToString() + "}");
Теперь вы можете изменить JSON / CODE в соответствии с вашими потребностями. https://docs.unity3d.com/Manual/JSONSerialization.html
Не обрезайте []
, и все должно быть в порядке. []
идентифицируют массив JSON, который именно то, что вам нужно, чтобы выполнять итерацию его элементов.