<\s*(\w+)[^/>]*>
Объясненные детали:
<
: начальный символ
\s*
: он может иметь пробелы перед именем тега (уродливым, но возможным).
(\w+)
: теги могут содержать буквы и цифры (h1). Ну,\w
также соответствует «_», но это не мешает, я думаю. Если любопытное использование ([a-zA-Z0-9] +).
[^/>]*
: все, кроме>
и/
, до закрытия>
>
: закрытие>
UNRELATED
И для парней, которые недооценивают регулярные выражения, говоря, что они только настолько сильны, как обычные языки:
anbanban, который не является регулярный и даже контекстно-свободный, можно сопоставить с
^(a+)b\1b\1$
Обратное обращение FTW !
Как и @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, который именно то, что вам нужно, чтобы выполнять итерацию его элементов.