2011-03-08 12 views
5

2 प्रश्नों में लिट्जसन का उपयोग करना।यूनिट 3 डी

1) क्या जावास्क्रिप्ट में स्क्रिप्टिंग करते समय लिट्जसन लाइब्रेरी का उपयोग करना संभव है? जावास्क्रिप्ट स्रोत में सी # स्रोत का उपयोग करने में सक्षम होने के बारे में यह वास्तव में एक सामान्य सवाल है।

2) मैं C# dev के लिए नया हूं। मुझे लिट्जसन को ऊपर और चलने लगते हैं।) An object reference is required to access non-static member LitJson.JsonReader.Read (' `

using UnityEngine; 
using System.Collections; 

public class Loadr : MonoBehaviour { 
string url= "http://developer.echonest.com/api/v4/artist/images?api_key=N6E4NIOVYMTHNDM8J&id=ARH6W4X1187B99274F&format=json&results=1&start=0&license=unknown"; 
void Start(){ 
    WWW www = new WWW(url); 
    print(www.text); 
    Object a = LitJson.JsonReader.Read(www.text); 
    print(a.response.status); 

    } 

} 

कोई विचार: निम्नलिखित कोड इस त्रुटि फेंकता है?

उत्तर

5

मैं यूनिटी 3 डी में जेसन पुस्तकालयों के समूह के माध्यम से रहा हूं। मुझे पता चला है कि अजीब धारावाहिक/deserialization quirks नहीं है, और आईओएस, वेबप्लेयर, और संपादक में लगातार काम करता है JsonFX JsonSerializer 1.4 है।

उसने कहा, मुझे लगता है कि आपकी समस्या यह है कि आप इसे अपने तरीकों का उपयोग करने से पहले एक जेसन रीडर को तुरंत चालू करना होगा।

कुछ इस तरह काम कर सकते हैं:

var reader = new LitJson.JsonReader(); 
Object a = reader.Read(www.text); 

संपादित करें:

ओह, मैं अपने प्रश्न का हिस्सा छोड़ दिया। आप यूनिटीस्क्रिप्ट से किसी भी प्रबंधित असेंबली का उपयोग करने में सक्षम होना चाहिए, बस सी # की तरह। using के साथ नामस्थानों को शामिल करने के बजाय, आप import का उपयोग करते हैं। इसके बाद कोड सी # संस्करण के समान रूप से समान होगा, जिस तरह से यूनिटीस्क्रिप्ट प्रकार को परिभाषित करता है (var blah : Type = YadaYada();)

0

एचएम। क्या आपने Jayrock की कोशिश की है? इसका कोड ठीक दिखता है, लेकिन इसके बारे में बात करने के लिए कोई दस्तावेज़ीकरण नहीं है, और लेखक इसे इस तरह से छोड़ने से संतुष्ट है।

0

Unity3D के लिए LitJSON कांटा पर एक नज़र डालें:


असल LitJson कुछ मुद्दे हैं और हमेशा आशा अनुरूप काम नहीं कर रहा है, इसलिए मैं एक साधारण JSON-लिब कि सभी Unity3D प्रकार संभाल कर सकते हैं, Enums बनाया और मनमाने ढंग से कक्षाएं।

यह GitHub पर खोजें: Tiny-JSON

आप इसे बहुत ही सरल का उपयोग कर सकते हैं:

// encode 
Animal a = new Animal(4); 
string json = Json.Encode(a); 

// decode 
IList<Animal> a = Json.Decode<IList<Animal>>("[{\"legs\":4}, {\"legs\":2}]"); 
0

सवाल के बारे में

  1. आप ग # लिपि में js कोड का उपयोग करना चाहते हैं, आप ऐसा करना चाहिए जेएस कोड int प्लगइन्स फ़ोल्डर, और इसके विपरीत रखें।

  2. Object a = LitJson.JsonReader.Read(www.text);
    मुझे लगता है कि JosnReader एक स्थिर वर्ग, आप उदाहरण के लिए एक नया JsonRead वस्तु चाहिए और फिर आप पढ़ें (स्ट्रिंग डेटा) का उपयोग कर सकते mehotd

नहीं है