我在一个项目中使用ZBAR来读取条形码,还有QR。读完QR后,我收到一个这样的字符串:
PreviewCallback CallbackCamara = new PreviewCallback()
{
public void onPreviewFrame(byte[] data, Camera camera) {
Camera.Parameters parameters = camera.getParameters();
Size dimensiones = parameters.getPreviewSize();
Image barcode = new Image(dimensiones.width, dimensiones.height,"Y800");
barcode.setData(data);
int result = escaner.scanImage(barcode);
if (result != 0) {
previsualizandoCamara = false;
mCamera.setPreviewCallback(null);
mCamera.stopPreview();
SymbolSet syms = escaner.getResults();
for (Symbol sym : syms) {
valor = sym;
barcodeScanned = true;
DevolverCodigo(sym.getData());
}
}
}
};
问题是,我知道这是一个JSON,我需要JSON中的一个值。但是,必须使用相同的条形码扫描仪来读取常规条形码。
我怎么知道它的QR或常规条形码是什么?而且,一旦我知道,我怎样才能从奇怪的String中提取JSON?
我的代码如下:
public static RouteValueDictionary AddIf(this RouteValueDictionary dict, bool condition, string name, object value)
{
if (condition) dict.Add(name, value);
return dict;
}
答案 0 :(得分:1)
我认为它是一个BASE64字符串,用于解码它:
String stringFromBase = new String(Base64.decode(sym.getData(), Base64.DEFAULT));
在那个String中我有我的JSON对象。